以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  JSON解析问题,不能形成我想要的JArray数组  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=172703)

--  作者:goe12345
--  发布时间:2021/10/26 23:29:00
--  JSON解析问题,不能形成我想要的JArray数组
老师帮助看看,下面文件中
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:json.txt

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


--  作者:有点蓝
--  发布时间:2021/10/27 8:38:00
--  
代码没有问题,实际生成了什么JSON字符串?
--  作者:goe12345
--  发布时间: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编辑过]

--  作者:有点蓝
--  发布时间:2021/10/27 13:41:00
--  
和1楼的一样呀!我以为1楼是正确的呢,那么正确的格式应该是怎么样的?
--  作者:有点蓝
--  发布时间: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
--  发布时间:2021/10/27 17:45:00
--  谢谢,可以了
谢谢,可以了。缺少了一句:cntcos_obj = new JObject 。加上这句就正常了。