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 "";
}


}

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 羊水破了一直流怎么办 孕38周羊水破了怎么办 羊水破了没阵痛怎么办 孕37周羊水破了怎么办 孕晚期羊水偏多怎么办 怀孕30周羊水少怎么办 怀孕30周羊水多怎么办 孕30周羊水少怎么办 拔完智齿嗓子疼怎么办 神经功能性引起的胸闷怎么办 中风后说话不清怎么办 老人吃不进去饭怎么办 老人吃什么就吐怎么办 老人吃了就吐怎么办 老人吃饭噎着了怎么办 胃胀气嗝不出来怎么办 嗓子咽口水都疼怎么办 产后盆底肌肉松弛怎么办 2个月宝宝鼻塞怎么办 人淹死捞不上来怎么办 胶囊卡在胃里怎么办 药卡在气管里怎么办 胶囊药卡在气管怎么办 被胶囊卡在喉咙怎么办 药卡在食道里怎么办 胶囊黏在喉咙里怎么办 要一直卡在喉咙怎么办 胃老是往上反气怎么办 有口气憋在喉咙怎么办 肛裂伤口不愈合怎么办 肛裂口子不愈合怎么办 宝宝胃食道反流怎么办 去角质后脸发红怎么办 红烧肉做的太甜怎么办 红烧排骨太甜了怎么办 唱歌时嗓子有痰怎么办 一唱歌喉咙有痰怎么办 鼻子老是打喷嚏还流鼻涕怎么办 鼻涕流到喉咙里怎么办 鼻塞怎么办怎样让鼻通气 流清鼻涕嗓子疼怎么办