以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  请问一下,如何用代码判定一个数据是否为JOSN对象  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=152762)

--  作者:wandongliang
--  发布时间:2020/7/21 13:25:00
--  请问一下,如何用代码判定一个数据是否为JOSN对象
如题,更详细一点的,该如何判断是JArray类型,还是JObject类型,因为出现过报错,所以想在解析之前,先判断一下类型
--  作者:有点蓝
--  发布时间: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
--  发布时间:2020/7/22 9:52:00
--  
谢谢蓝老师,再请问一下,Dim jo As JObject = JObject.Parse(json) 在这一步之前,能先判断数据是否为JOSN数据吗?如果接收数据不符合要求,会产生系统报错,阻碍进程,想先进行一个验证,数据符合要求,再用parse进行解析
[此贴子已经被作者于2020/7/22 9:52:19编辑过]

--  作者:有点蓝
--  发布时间:2020/7/22 9:53:00
--  
try如果不出错就是正常的json

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

--  作者:wandongliang
--  发布时间:2020/7/22 10:16:00
--  
蓝老师 try可以直接写到自定义函数里面吗
--  作者:有点蓝
--  发布时间:2020/7/22 10:56:00
--  
试试就知道了