A. pb 调用http 接口问题,返回值jsON格式,怎么获取返回值
接口只有
HTTP的
接口说明
EXLIVE开放平台增加动态数据接口,主要以JSON格式返回车辆当前位置数据、轨迹回放数据等等车辆动态信息
(1)信息内容为json格式,必须采用UTF-8编码。(建议提交方式为post方法,可以避免汉字乱码问题)
HT请求TP例子:
C# code?
1
http://60.195.248.67:89/gpsonline/GPSAPI?version=1&method=loginSystem&name=sunyan&pwd=123456
返回格式:
C# code?
1
2
3
4
5
6
{
"version":1,
"success":true,
"uid":2103811,
"uKey":""
}
我目前用的POSTURL 来写的
但是不知道怎么获取返回的 JSON格式的值
目前写的代码
C# code?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Blob lblb_args
String ls_header
String ls_url
String ls_args
long ll_length
integer li_rc
li_rc = GetContextService( "Internet", iinet_base )
IF li_rc = 1 THEN
iinet = Create n_iinet
ir = CREATE n_ir_msgbox
ls_url = "http://125.64.14.211:89/gpsonline/GPSAPI?"
ls_args = "version=1&method=loginSystem&name=hds&pwd=666888"
lblb_args = Blob( ls_args )
ll_length = Len( lblb_args )
ls_header = "Content-Type: " + &
"application/x-www-form-urlencoded~n" + &
"Content-Length: " + String( ll_length ) + "~n~n"
li_rc = iinet.PostURL( ls_url, lblb_args, ls_header, ir )
END IF
B. 如何调用http接口获取json数据及GET/POST方式调用http接口
HTTP接口返回的JSON数据,其实就是HTTP请求后返回的HTTP主体那一部分。
HTTP协议规定,HTTP头部和HTTP主体之间是以一个空行分割的。因为HTTP每一行(每一行是指一个头部字段)是以\r\n结束的,一个空行的\r\n,再加上最后一行的结束符\r\n,一起是\r\n\r\n,也就是说,当检测到\r\n\r\n四个字符时,下一个字符开始就是HTTP body的内容了。把HTTP响应主体保存下来就是JSON数据了。
C. 怎么通过JSON发送个Http 请求
试试这个代码: show_data;JSONObject my_json_obj;String path,firstname,lastname;path = " http://192.168.101.123:255/services/services.php?id=9"; HttpClient client = new DefaultHttpClient(); HttpConnectionParams.setConnectionTimeout(client.getParams(), 10000); HttpEntity entity; HttpResponse response = null; HttpURLConnection urlconn; my_json_obj = new JSONObject(); try { urlconn = (HttpURLConnection) new URL(path).openConnection(); urlconn.setConnectTimeout(10000); urlconn.setDoOutput(true); OutputStreamWriter writer = new OutputStreamWriter(urlconn.getOutputStream(), "UTF-8");my_json_obj.put("sUserName", "test2"); my_json_obj.put("sPassword", "123456");writer.write(my_json_obj.toString()); writer.close();if(true) { String temp; temp = WebRequestCall(my_json_obj); //Log.i("Reply", temp); }
D. C#调完 http接口后得到一串字符Json格式,怎么样将这一字符串转换成datatable以及其他类型
JsonObject 格式是 kv 结构
key: value
key: value
DataTable 是表结构
-----------------------------------
col1 | col2 | col3 | col4 |
-------|-------|-------|-------|-----
row1 | row2 | row3 | row4 |
-------|-------|-------|-------|-----
先要定义怎么转,哪些数据放到哪儿
示例:
varstr="{"msg":"成功!","code":"0000","data":""}";
varjson=Json.Parse(str)asJsonObject;
DataTabletable=newDataTable();
foreach(varkeyinjson.Keys)
table.Columns.Add(newDataColumn(key));
varrow=table.NewRow();
foreach(varkeyinjson.Keys)
row[key]=json[key].ToString();
table.Rows.Add(row);
可以使用以下消闭方法将JSON文件发送给客户端:
1. 将JSON文件读取为字符串,例如:
```
String jsonString = new String(Files.readAllBytes(Paths.get("path/to/jsonFile.json")));
```
2. 将字符串设置为响应体,设置响应头为JSON格式,例如薯冲:
```
response.setContentType("application/json");
response.setCharacterEncoding("UTF-8");
response.getWriter().write(jsonString);
```
3. 发拿手裂送响应,例如:
```
response.flushBuffer();
```
另外还可以使用一些框架,如Spring MVC的`@ResponseBody`注解,可以将JSON对象或实体类自动转换为JSON格式发送给客户端。