Foxtable(狐表)用户栏目专家坐堂 → [求助]如何使用json返回的数组?


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

主题:[求助]如何使用json返回的数组?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2013/9/5 20:46:00 [显示全部帖子]

 直接获取不行么?

 data.face(0).attribute.age.range

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2013/9/5 22:11:00 [显示全部帖子]

 测试了很多下,查询了好些资料,发觉不能够,所以这样如下处理,自己判断下标去取值。

Dim s As String = "{'face':[{'a':'a'}, {'b':{'bb':'bb'}}], 'test':'test'}"
Dim json As String = s
Dim ScriptControl As Object,data As Object,JscriptCode As String
JscriptCode = "function toObject(json) {eval(""var o=""+json);return o;}"
ScriptControl = CreateObject("MSScriptControl.ScriptControl")
With ScriptControl
    .Language = "Javascript"
    .Timeout = -1
    .AddCode(JscriptCode)
    data = .Run("toObject", json)
End With

Dim count As Integer = 0
For Each i As object In data.face
    If count = 1 Then
        msgbox(i.b.bb)
    End If
    count += 1
Next

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2013/9/5 22:35:00 [显示全部帖子]

 我只是做一个例子,楼主,你可以直接运行代码的。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2013/9/5 22:36:00 [显示全部帖子]

 比如你要获取 data.face(0).attribute.age.range

Dim count As Integer = 0
For Each o As object In data.face
    If count = 0 Then
        msgbox(o.attribute.age.range)
    End If
    count += 1
Next

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2013/9/5 23:01:00 [显示全部帖子]

 我也不知道具体的原因,等高手解答吧。

 回到顶部