Foxtable(狐表)用户栏目专家坐堂 → JSON解析问题,不能形成我想要的JArray数组


  共有3781人关注过本帖树形打印复制链接

主题:JSON解析问题,不能形成我想要的JArray数组

帅哥哟,离线,有人找我吗?
goe12345
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:381 积分:2937 威望:0 精华:0 注册:2015/5/15 20:56:00
JSON解析问题,不能形成我想要的JArray数组  发帖心情 Post By:2021/10/26 23:29:00 [只看该作者]

老师帮助看看,下面文件中
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:json.txt

的代码不能得出我想要的数组:[{
 "con": "sqlc140","table": "Author","columns": []},{ "con": "sqlc140","table": "CompanyInfo","columns": []},{"con": "sqlc140","table": "Departments","columns": []}]。这个代码可以在命令框内运行。


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/10/27 8:38:00 [只看该作者]

代码没有问题,实际生成了什么JSON字符串?

 回到顶部
帅哥哟,离线,有人找我吗?
goe12345
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:381 积分:2937 威望:0 精华:0 注册:2015/5/15 20:56:00
实际生成了后两项重复的对象  发帖心情 Post By:2021/10/27 12:45:00 [只看该作者]

生成的数组如下:
[{ "con": "sqlc140","table": "Departments","columns": []},{ "con": "sqlc140","table": "CompanyInfo","columns": []},{"con": "sqlc140","table": "Departments","columns": []}]。
这里我查了多次,没有发现循环有问题,只是第一个对象元素不出现,用最后一个代替第一个内容。
[此贴子已经被作者于2021/10/27 14:33:03编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/10/27 13:41:00 [只看该作者]

和1楼的一样呀!我以为1楼是正确的呢,那么正确的格式应该是怎么样的?

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/10/27 13:59:00 [只看该作者]

哦,明白您的意思了

……
Dim cntcos_arr As new JArray  '返回的所有数据表中的,字段数组
Dim cntcos_obj As JObject
Dim cmd As new SQLCommand
Dim dt As DataTable
'///,按表名称生成的数组,数组的每个元素是对象{cn: "zhima",name: "duties",value: "duties"}
Dim cn_tbs As JArray = JArray.Parse(cn_tbss)
For Each cn_tb As JToken In  cn_tbs
    Dim cn As String = cn_tb("con")            '数据源名称
    Dim tb As String =  cn_tb("name")
cntcos_obj = new JObject
    cntcos_obj("con")=cn
    cntcos_obj("table")=tb
……

 回到顶部
帅哥哟,离线,有人找我吗?
goe12345
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:381 积分:2937 威望:0 精华:0 注册:2015/5/15 20:56:00
谢谢,可以了  发帖心情 Post By:2021/10/27 17:45:00 [只看该作者]

谢谢,可以了。缺少了一句:cntcos_obj = new JObject 。加上这句就正常了。


 回到顶部