Foxtable(狐表)用户栏目专家坐堂 → [求助]json数据处理


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

主题:[求助]json数据处理

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


加好友 发短信
等级:六尾狐 帖子:1326 积分:9603 威望:0 精华:1 注册:2010/7/21 14:20:00
[求助]json数据处理  发帖心情 Post By:2017/3/8 13:41:00 [只看该作者]

Dim uuid As String ="409467D025B446A8AF5602B9C0D14584"
'Dim curName As String =args(1)
'name=Functions.Execute("utf8",name)
Dim XMLH As Object
XMLH = CreateObject("Microsoft.XMLHTTP")
XMLH.open("GET", "http://"+Vars("ent_ip")+"/dqaj/app/entrecord/entview.action?enterpriseId="& uuid, True)   '获得实时信息
XMLH.send(Nothing)
Do While XMLH.readyState <> 4
    Application.DoEvents
Loop

'把数据json数据转化成对象
Dim json As String = XMLH.responseText
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)          ‘这段代码2017报错

End With

If data.total=0 Then
    
    For Each o As object In data.data
        If o.enterpriseName<>"" Then
            Vars("V_entName")=o.enterpriseName
            Vars("V_entpdName")=o.proddistName
        End If
    Next
Else
    messagebox.show( "未查询到企业!","")
End If

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


加好友 发短信
等级:六尾狐 帖子:1326 积分:9603 威望:0 精华:1 注册:2010/7/21 14:20:00
  发帖心情 Post By:2017/3/8 13:44:00 [只看该作者]

2017支持json数据解析了,该怎么改呢?

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/3/8 13:49:00 [只看该作者]

如果报错,说明你返回的json数据有问题

 

http://www.bejson.com/

 

1、获取可以用httpClient

 

http://www.foxtable.com/mobilehelp/scr/0157.htm

 

2、使用json

 

http://www.foxtable.com/mobilehelp/scr/0140.htm

 


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


加好友 发短信
等级:六尾狐 帖子:1326 积分:9603 威望:0 精华:1 注册:2010/7/21 14:20:00
  发帖心情 Post By:2017/3/8 13:54:00 [只看该作者]

以前都是没有问题的,用了2017版之后,出现这个问题

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/3/8 14:08:00 [只看该作者]

1、你下载到最新版foxtable了吗?等级到最新版。

 

2、把你的json数据校验一下看是否有问题。


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


加好友 发短信
等级:六尾狐 帖子:1326 积分:9603 威望:0 精华:1 注册:2010/7/21 14:20:00
  发帖心情 Post By:2017/3/8 14:46:00 [只看该作者]

我找到原因了,我系统使用了ip地址
XMLH.open("GET", "http://"+Vars("ent_ip")+"/dqaj/app/entrecord/entview.action?enterpriseId="& uuid, True)   '获得实时信息
刚刚给服务器做了反向代理,所以ip进来,找不到路径了,导致json数据错误

 回到顶部