jsonelement和http协议
来源:互联网 发布:淘宝开店的类目是什么? 编辑:程序博客网 时间:2024/06/09 18:49
JsonElement:
该类是一个抽象类,代表着json串的某一个元素。这个元素可以是一个Json(JsonObject)、可以是一个数组(JsonArray)、可以是一个Java的基本类型(JsonPrimitive)、当然也可以为null(JsonNull);JsonObject,JsonArray,JsonPrimitive,JsonNull都是JsonElement这个抽象类的子类
jsonelement:
if (statusCode == HttpStatus.SC_OK) {//成功调用
System.out.println("queryparkspace-SUCCESS:接口调用成功!");
String results = EntityUtils.toString(response.getEntity());
JsonObject json=new JsonParser().parse(results).getAsJsonObject();
int resultCode=json.get("resultCode").getAsInt();
if(resultCode==0){
JsonElement dataItems=json.get("dataItems");
System.out.println("queryorder-SUCCESS:车场空车位获取成功!\n\t车场空车位信息:"+dataItems.toString());
/*打印的结果:[{"attributes":{"totalSpace":500,"parkName":"天健物业","restSpace":500,"parkCode":"tjwy"},"failItems":[],"objectId":"","operateType":"READ","subItems":[]}] */
dataItem=dataItems.toString();
}else{
System.out.println("queryparkspace-ERROR:调用异常!"+"\tresultCode:"+resultCode+"\tmessage:"+json.get("message"));
}
} else {
System.out.println("queryparkspace-ERROR:执行失败!"+"\tstatusCode:"+statusCode);
}
json数组:
String sJson =
"[{'gwcxxid':'1','spsl':'2'},{'gwcxxid':'1','spsl':'2'},{'gwcxxid':'3','spsl':'4'}]"
;
JSONArrayjsonArray =
new
JSONArray(sJson);
int
iSize = jsonArray.length();
System.out.println(
"Size:"
+ iSize);
for
(
int
i =
0
; i < iSize; i++) {
JSONObject jsonObj = jsonArray.getJSONObject(i);
System.out.println(
"["
+ i +
"]gwcxxid="
+ jsonObj.get(
"gwcxxid"
));
System.out.println(
"["
+ i +
"]spsl="
+ jsonObj.get(
"spsl"
));
System.out.println();
}
eg1.
protected void extractResult(CloseableHttpResponse response)
throws Exception {
// TODO Auto-generated method stub
int statusCode = response.getStatusLine().getStatusCode();
if (statusCode == HttpStatus.SC_OK) {//成功调用
System.out.println("queryparkspace-SUCCESS:接口调用成功!");
String results = EntityUtils.toString(response.getEntity());
JsonObject json=new JsonParser().parse(results).getAsJsonObject();
int resultCode=json.get("resultCode").getAsInt();
//System.out.println("获取的json:"+json.get);
if(resultCode==0){
JsonElement dataItems=json.get("dataItems");
System.out.println("--0--queryorder-SUCCESS:车场空车位获取成功!\n\t车场空车位信息:"+dataItems.toString());
JsonArray jsonarray=json.getAsJsonArray("dataItems");
System.out.println("--1--jsonarray--"+jsonarray);
JsonObject obResult = (JsonObject) jsonarray.get(0);
System.out.println("--2--obResult--"+obResult);
JsonElement obResult2 = obResult.get("attributes");
System.out.println("--3--obResult2--"+obResult2);
JsonObject obResult66 = (JsonObject) obResult.get("attributes");
System.out.println("--4--obResult66--"+obResult66);
JsonElement jk = obResult66.get("totalSpace");
System.out.println("--5--jk--"+jk);
JsonElement jk2 = obResult66.get("parkName");
System.out.println("--6--jk2--"+jk2);
JsonElement jk3 = obResult66.get("restSpace");
System.out.println("--7--jk3--"+jk3);
JsonElement jk4 = obResult66.get("parkCode");
System.out.println("--8--jk4--"+jk4);
}else{
System.out.println("queryparkspace-ERROR:调用异常!"+"\tresultCode:"+resultCode+"\tmessage:"+json.get("message"));
}
} else {
System.out.println("queryparkspace-ERROR:执行失败!"+"\tstatusCode:"+statusCode);
}
}
控制台打印的内容:
queryparkspace-SUCCESS:接口调用成功!
--0--queryorder-SUCCESS:车场空车位获取成功!
车场空车位信息:[{"attributes":{"totalSpace":500,"parkName":"天健物业","restSpace":500,"parkCode":"tjwy"},"failItems":[],"objectId":"","operateType":"READ","subItems":[]}]
--1--jsonarray--[{"attributes":{"totalSpace":500,"parkName":"天健物业","restSpace":500,"parkCode":"tjwy"},"failItems":[],"objectId":"","operateType":"READ","subItems":[]}]
--2--obResult--{"attributes":{"totalSpace":500,"parkName":"天健物业","restSpace":500,"parkCode":"tjwy"},"failItems":[],"objectId":"","operateType":"READ","subItems":[]}
--3--obResult2--{"totalSpace":500,"parkName":"天健物业","restSpace":500,"parkCode":"tjwy"}
--4--obResult66--{"totalSpace":500,"parkName":"天健物业","restSpace":500,"parkCode":"tjwy"}
--5--jk--500
--6--jk2--"天健物业"
--7--jk3--500
--8--jk4--"tjwy"
eg2.
public class QueryCarByCarnoService extends CommonService{
@Override
public String buildRequestParam(String params) {
Properties prop = ConfigHelper.getProperties(baseDir+"/querycarbycarno");
// 构造请求参数对象
JsonObject jsonParam = new JsonObject();
jsonParam.addProperty("serviceId", prop.getProperty("serviceId"));
jsonParam.addProperty("requestType", prop.getProperty("requestType"));
JsonObject attributes = new JsonObject();
attributes.addProperty("parkCode", prop.getProperty("parkCode"));
attributes.addProperty("carNo", prop.getProperty("carNo"));
jsonParam.add("attributes", attributes);
return jsonParam.toString();
}
@Override
public String extractResult(CloseableHttpResponse response) throws Exception {
// TODO Auto-generated method stub
int statusCode = response.getStatusLine().getStatusCode();
if (statusCode == HttpStatus.SC_OK) {//成功调用
String results = EntityUtils.toString(response.getEntity());
JsonObject json=new JsonParser().parse(results).getAsJsonObject();
int resultCode=json.get("resultCode").getAsInt();
if(resultCode==0){
System.out.println("querycarbycarno-SUCCESS:查询相似车辆成功!");
JsonElement dataItems=json.get("dataItems");
if(dataItems==null||(dataItems.isJsonArray() && dataItems.getAsJsonArray().size()==0)){
System.out.println("querycarbycarno-SUCCESS:没有匹配的车辆!");
}else{
System.out.println("querycarbycarno-SUCCESS:匹配到的车辆如下:");
JsonArray items=dataItems.getAsJsonArray();
for(int i=0;i<items.size();i++){
JsonObject door=items.get(i).getAsJsonObject().get("attributes").getAsJsonObject();
System.out.println("\t<"+(i+1)+">carNo:"+door.get("carNo").getAsString()+"\tenterTime:"+door.get("enterTime").getAsString());
}
}
}else{
System.out.println("querycarbycarno-ERROR:调用异常!"+"\tresultCode:"+resultCode+"\tmessage:"+json.get("message"));
}
} else {
System.out.println("querydoors-ERROR:执行失败!"+"\tstatusCode:"+statusCode);
}
return "";
}
}
- jsonelement和http协议
- JsonElement toString()方法和getAsString()方法
- HTTP协议 和 TCP 协议
- HTTP协议和XMPP协议
- HTTP协议和XMPP协议
- HTTP协议和HTTPS协议
- http协议和https协议
- HTTP 和 HTTPS 协议
- Socket 和 HTTP 协议
- HTTP 和 HTTPS 协议
- Http协议和HttpClient
- HTTP和SOAP协议
- HTTP 和 HTTPS 协议
- HTTP和HTTPS协议
- tomcat和http协议
- Java 和 Http 协议
- http和https协议
- HTTP和URL协议
- 将Json日期格式化
- Latex写文章可能遇到的问题及解决方案
- JAVA重载(overload)和覆盖(override)中你所不知道的陷阱
- splay专题
- postgresql 相关命令1
- jsonelement和http协议
- I/O多路复用之poll
- SE01 Unit04 集合框架 、 集合操作 —— 线性表
- 图片缩放和移动原理
- 很污的机器学习:从xhamster网站找到喜欢的片子
- Javaweb开发中,mysql数据库字段默认不区分大小写问题
- spring之属性的标签
- COGS 2294. [HZOI 2015] 释迦 (FFT mod any prime)
- 转载--Java23种设计模式学习