以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关于json解析对象中含有type的冲突解决?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=87738)

--  作者:luodang2050
--  发布时间:2016/7/18 15:25:00
--  关于json解析对象中含有type的冲突解决?

如题:

以下解析为json对象data

调用data.type时,与狐表内置的type属性冲突,应该怎么解决?

{
    "id": "0000000000000000000000000000000000000000",
    "type": "file",
    "name": "test1.c",
    "size": 0
},

--  作者:luodang2050
--  发布时间:2016/7/18 15:28:00
--  
补充:输入data.type,type总会自动更改为"Type",大小写问题造成调用失败,手动强制更改保存后重新打开编辑,又会自动变为大写了
[此贴子已经被作者于2016/7/18 15:30:06编辑过]

--  作者:luodang2050
--  发布时间:2016/7/18 16:00:00
--  

目前找到解决方法为,不知还有更好方法?

str=str.Replace("""" & "type" & """" & ": " & """","""" & "lx" & """" & ": " & """")


--  作者:Hyphen
--  发布时间:2016/7/18 16:49:00
--  
data.[type] 
--  作者:luodang2050
--  发布时间:2016/7/18 17:10:00
--  
以下是引用Hyphen在2016/7/18 16:49:00的发言:
data.[type] 

测试还是不行,重新打开编辑又自动变为data.[Type] 


--  作者:Hyphen
--  发布时间:2016/7/18 18:14:00
--  
测试没有问题,大小写不敏感的,data.[Type] 一样可以用
--  作者:luodang2050
--  发布时间:2016/7/18 18:44:00
--  

确实会报错呢,如下


此主题相关图片如下:360反馈意见截图16581127103920.jpg
按此在新窗口浏览图片


--  作者:大红袍
--  发布时间:2016/7/19 0:26:00
--  

只有替换的那种方法,又或者是,换一种方式读取json

 

dim str as string = "{""type"": ""file"", ""size"": 0}"

msgbox(str)
str = str.replace("""type"":", """tp"":")
Dim data As object
Dim JscriptCode = "function toObject(json) {eval(""var o=""+json);return o;}"
Dim ScriptControl = CreateObject("MSScriptControl.ScriptControl")
With ScriptControl
    .Language = "Javascript"
    .Timeout = -1
    .AddCode(JscriptCode)
    data = .Run("toObject", str)
End With

msgbox(data.tp)

 

http://www.baidu.com/baidu?wd=c%23+json&tn=monline_4_dg