jsonelement和http协议


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'}]";
JSONArray jsonArray = 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 "";
}


}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值