Foxtable(狐表)用户栏目专家坐堂 → JSON对象解析时遇到


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

主题:JSON对象解析时遇到

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


加好友 发短信
等级:童狐 帖子:253 积分:2819 威望:0 精华:0 注册:2014/12/24 9:51:00
JSON对象解析时遇到  发帖心情 Post By:2019/10/16 15:53:00 [只看该作者]

解析企业微信返回来的JSON数据,到了"apply_data"那段怎么样解析?一大团的,一解析它就提示出错:

图片点击可在新窗口打开查看此主题相关图片如下:json1.png
图片点击可在新窗口打开查看

例如我要提取"apply_data" 中 “名单” 里的 “姓名” 值,应该这么做呢?

这是其中一段数据:
{
  "spname": "变更",
  "apply_name": "余小舜",
  "apply_org": "机电技术",
  "approval_name": [
    "吴柱",
    "谢培芳",

  ],
  "notify_name": [
    "管理相关"
  ],
  "sp_status": 2,
  "sp_num": 201910110072,
  "comm": {
    "apply_data": "[{\"id\":\"item-1514447653363\",\"title\":\"说明\",\"type\":\"tips\",\"value\":\"\"},{\"id\":\"item-1514447662644\",\"title\":\"部门\",\"type\":\"text\",\"value\":\"18电气\"},{\"id\":\"item-1514447694555\",\"title\":\"第几周\",\"type\":\"number\",\"value\":\"6\"},{\"id\":\"item-1514457944110\",\"title\":\"原因\",\"type\":\"text\",\"value\":\"生病\"},{\"id\":\"item-1514470343431\",\"title\":\"变更\",\"type\":\"select\",\"value\":\"离园\"},{\"id\":\"item-1514447722075\",\"title\":\"名单\",\"type\":\"list\",\"value\":[[{\"id\":\"item-1514447759978\",\"title\":\"姓名\",\"type\":\"text\",\"value\":\"谢玮\"},{\"id\":\"item-1514447782658\",\"title\":\"手机号\",\"type\":\"number\",\"value\":\"13226318000\"},{\"id\":\"item-1515031350677\",\"title\":\"家属\",\"type\":\"text\",\"value\":\"谢华\"},{\"id\":\"item-1514447797634\",\"title\":\"家属手机\",\"type\":\"number\",\"value\":\"13421692000\"},{\"id\":\"item-1519633463609\",\"title\":\"宿舍\",\"type\":\"text\",\"value\":\"B12\"},{\"id\":\"item-1514447845515\",\"title\":\"住址\",\"type\":\"textarea\",\"value\":\"石湾镇\"},{\"id\":\"item-1514447882402\",\"title\":\"说明\",\"type\":\"tips\",\"value\":\"\"}]]},{\"id\":\"item-1514533131686\",\"title\":\"说明\",\"type\":\"tips\",\"value\":\"\"}]"
  },
  "mediaids": [],
  "apply_time": 1570792989,
  "apply_user_id": "x047"
}

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:105936 积分:538749 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/10/16 16:01:00 [只看该作者]

Dim jo As JObject = JObject.parse("JSON数据")
Dim ja As JArray = JArray.Parse(jo("comm")("apply_data"))
For i As Integer = 0 To ja.Count - 1
    output.show(ja(i)("id").Tostring)
    output.show(ja(i)("title").Tostring)
    output.show(ja(i)("value").Tostring)
Next

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


加好友 发短信
等级:童狐 帖子:253 积分:2819 威望:0 精华:0 注册:2014/12/24 9:51:00
  发帖心情 Post By:2019/10/16 16:39:00 [只看该作者]

原来我是“JSON对象中的值数组的解析”与“JSON对象数组的解析”搞混了。
用了:
Dim ja As JArray = jo("comm")("apply_data")
而非:
Dim ja As JArray = JArray.Parse(jo("comm")("apply_data"))
受教了,谢谢!图片点击可在新窗口打开查看


 回到顶部