Foxtable(狐表)用户栏目专家坐堂 → 关于json解析对象中含有type的冲突解决?


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

主题:关于json解析对象中含有type的冲突解决?

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


加好友 发短信
等级:二尾狐 帖子:585 积分:5674 威望:0 精华:0 注册:2014/5/21 10:30:00
关于json解析对象中含有type的冲突解决?  发帖心情 Post By:2016/7/18 15:25:00 [只看该作者]

如题:

以下解析为json对象data

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

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

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


加好友 发短信
等级:二尾狐 帖子:585 积分:5674 威望:0 精华:0 注册:2014/5/21 10:30:00
  发帖心情 Post By:2016/7/18 15:28:00 [只看该作者]

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

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


加好友 发短信
等级:二尾狐 帖子:585 积分:5674 威望:0 精华:0 注册:2014/5/21 10:30:00
  发帖心情 Post By:2016/7/18 16:00:00 [只看该作者]

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

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


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


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2016/7/18 16:49:00 [只看该作者]

data.[type] 

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


加好友 发短信
等级:二尾狐 帖子:585 积分:5674 威望:0 精华:0 注册:2014/5/21 10:30:00
  发帖心情 Post By:2016/7/18 17:10:00 [只看该作者]

以下是引用Hyphen在2016/7/18 16:49:00的发言:
data.[type] 

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


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


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2016/7/18 18:14:00 [只看该作者]

测试没有问题,大小写不敏感的,data.[Type] 一样可以用

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


加好友 发短信
等级:二尾狐 帖子:585 积分:5674 威望:0 精华:0 注册:2014/5/21 10:30:00
  发帖心情 Post By:2016/7/18 18:44:00 [只看该作者]

确实会报错呢,如下


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


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By: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

 


 回到顶部