以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  htttp协议json格式  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=161617)

--  作者:udp狐表
--  发布时间:2021/3/24 14:07:00
--  htttp协议json格式
1.高级指南我看了,了解了json格式的解析与生成,这个是网页和服务端进行信息交互的内容,如果是用其他的软件写的app和狐表的服务端也可以用这种格式的吗?

2.网页的话客户端会有这个
http://127.0.0.1/gettime.htm
app我知道会给个ip和端口,还会有gettime.htm这个吗?  还是app post信息的时候,就会带个请求,在服务的选取就好了


--  作者:有点蓝
--  发布时间:2021/3/24 14:20:00
--  
基本上任何软件都可以通过http请求调用web接口。比如微信接口、百度AI、阿里云等等基本上都有web api接口,任何软件都可以调用

gettime.htm只是一个地址而已,您可以改为其他比如abc:http://127.0.0.1/abc

--  作者:udp狐表
--  发布时间:2021/3/24 16:11:00
--  
在httpclient里面怎么接收json格式的数据
Dim hc As New HttpClient("http://127.0.0.1/query.htm")
Dim ret As String = hc.GetData()
这样一直报错

--  作者:udp狐表
--  发布时间:2021/3/24 16:12:00
--  
Could not determine JSON object type for type System.Object.

一直显示这个是不能用getdata吗

--  作者:udp狐表
--  发布时间:2021/3/24 16:16:00
--  
还有在httprequest里面json格式接收数据,只能用

        Dim json As String = e.plaintext
        Dim jo As JObject = JObject.Parse(json) 

那个e事件用不了values和其他的吗

--  作者:有点蓝
--  发布时间:2021/3/24 16:17:00
--  
GetData是接收web服务返回的数据而已,和josn没有半点关系。另外确定返回的是规范的json字符串?

Dim hc As New HttpClient("http://127.0.0.1/query.htm")
Dim ret As String = hc.GetData()
msgbox(ret)

--  作者:udp狐表
--  发布时间:2021/3/24 16:33:00
--  

        Dim ja As new jarray  
        For Each r As Row In Tables("订单") 
            ja.Add(new object)
            ja(r.index)("产品")=r("产品").ToString
            ja(r.index)("客户")=r("客户").ToString
            ja(r.index)("数量")=r("数量").ToString
            ja(r.index)("单价")=r("单价").ToString
            ja(r.index)("日期")=r("日期").ToString
        Next
        Dim json As String = CompressJson(ja)
        e.WriteString(json)
返回的是这个

--  作者:有点蓝
--  发布时间:2021/3/24 16:39:00
--  
Dim hc As New HttpClient("http://127.0.0.1/query.htm")
Dim ret As String = hc.GetData()
msgbox(ret)弹出什么内容?

--  作者:udp狐表
--  发布时间:2021/3/24 16:44:00
--  
运行错误,显示Could not determine JSON object type for type System.Object.


--  作者:有点蓝
--  发布时间:2021/3/24 16:46:00
--  
那是服务端代码错误

For Each r As Row In Tables("订单") 
ja.Add(new Jobject)