以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]json数据处理  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=97231)

--  作者:浙江仔
--  发布时间:2017/3/8 13:41:00
--  [求助]json数据处理
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

--  作者:浙江仔
--  发布时间:2017/3/8 13:44:00
--  
2017支持json数据解析了,该怎么改呢?
--  作者:有点色
--  发布时间: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

 


--  作者:浙江仔
--  发布时间:2017/3/8 13:54:00
--  
以前都是没有问题的,用了2017版之后,出现这个问题
--  作者:有点色
--  发布时间:2017/3/8 14:08:00
--  

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

 

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


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