Foxtable(狐表)用户栏目专家坐堂 → 请问一下,如何用代码判定一个数据是否为JOSN对象


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

主题:请问一下,如何用代码判定一个数据是否为JOSN对象

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


加好友 发短信
等级:一尾狐 帖子:415 积分:3598 威望:0 精华:0 注册:2016/1/1 20:20:00
请问一下,如何用代码判定一个数据是否为JOSN对象  发帖心情 Post By:2020/7/21 13:25:00 [只看该作者]

如题,更详细一点的,该如何判断是JArray类型,还是JObject类型,因为出现过报错,所以想在解析之前,先判断一下类型

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


加好友 发短信
等级:超级版主 帖子:107680 积分:547721 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/7/21 13:37:00 [只看该作者]

比如

Dim json As String  = "{'touser':['zhansan', 'lisi'],'msgtype':'text'}"
Dim
 jo As JObject = JObject.Parse(json)

msgbox(Typeof jo("msgtype") Is JArray )
msgbox(Typeof jo("touser") Is JArray )

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


加好友 发短信
等级:一尾狐 帖子:415 积分:3598 威望:0 精华:0 注册:2016/1/1 20:20:00
  发帖心情 Post By:2020/7/22 9:52:00 [只看该作者]

谢谢蓝老师,再请问一下,Dim jo As JObject = JObject.Parse(json) 在这一步之前,能先判断数据是否为JOSN数据吗?如果接收数据不符合要求,会产生系统报错,阻碍进程,想先进行一个验证,数据符合要求,再用parse进行解析
[此贴子已经被作者于2020/7/22 9:52:19编辑过]

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


加好友 发短信
等级:超级版主 帖子:107680 积分:547721 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/7/22 9:53:00 [只看该作者]

try如果不出错就是正常的json

try
Dim jo As JObject = JObject.Parse(json)
catch
msgbox("不正常")
end try

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


加好友 发短信
等级:一尾狐 帖子:415 积分:3598 威望:0 精华:0 注册:2016/1/1 20:20:00
  发帖心情 Post By:2020/7/22 10:16:00 [只看该作者]

蓝老师 try可以直接写到自定义函数里面吗

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


加好友 发短信
等级:超级版主 帖子:107680 积分:547721 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/7/22 10:56:00 [只看该作者]

试试就知道了

 回到顶部