System.out.println(aaa);
//最外层的大括号
JSONObject data1 =new JSONObject(aaa);
//两种方式,message是一个数组
JSONArray result = data1.getJSONArray("message");
JSONArray result2 = (JSONArray) data1.get("message");
//message是一个数组,取它里面的第一个值:[查询成功]
System.out.println("---------"+result.get(0));
//两种方式,取dataInfo的外层数组
JSONArray jsonarr=data1.getJSONArray("dataInfo");
System.out.println("jsonarr"+jsonarr);
//里面的数组,外面数组定义的是jsonarr的第一个值,就是里面的数组
JSONArray datearr=(JSONArray) jsonarr.get(0);
System.out.println("datearr"+datearr);
//在这里又成了一个JSONObject
JSONObject dataObj=(JSONObject) datearr.get(datearr.length()-1);
System.out.println("dataObj"+dataObj);
//取JSONObject值的两种方式
String projectid=dataObj.get("productid2").toString();
String projectid2=dataObj.getString("productid2");
System.out.println(projectid);
String orderalready_1=dataObj.getString("orderalready_1");
System.out.println(orderalready_1);
String productname=dataObj.getString("productname");
System.out.println(productname);
另外:
if(Code.equals("0")){
//请求成功
JSONArray reportsArray=jsonObj.getJSONArray("Reports");
if(reportsArray.length()==0){
state="0";
billmsg+="查无此单";
}
else{
String flag="false";
for(int i=0;i<reportsArray.length();i++){
JSONObject reportObj=(JSONObject)reportsArray.get(reportsArray.length()-1);
String Status=reportObj.get("Status").toString();
if("4".equals(Status)){
sendupdatestate(orderId,"查单结果:充值成功","999","1");
}else if("5".equals(Status)){
sendupdatestate(orderId,"查单结果:充值失败","999","8");
}
}
}
}
System.out.println(state+billmsg);
外:
String param ="{\"partyId\":\"1209992\",\"data\":{\"type\":3,\"size\":1,\"messageList\":[{\"state\":\"0\",\"mobiles\":\"SASADSAS221SDAA\",\"userPackage\":\"000DADSASD00B10\",\"recvTime\":\"20160302150711\",\"sendID\":\"DA8887DADADA\",\"statedes\":\"订购成功\",\"requestid\":\"sadasaaaaada\"}]},\"time\":\"20150804111252936\",\"sign\":\"a75717da5420447a47c16a2fe1d622ba\"}";
System.out.println("------"+param);
JSONObject json=new JSONObject(param);
String partyId=json.getString("partyId");
System.out.println("------"+partyId);
String time=json.get("time").toString();
String data=json.get("data").toString();
JSONObject jsona=new JSONObject(data);
JSONArray result = jsona.getJSONArray("messageList");
System.out.println("------"+result);
//JSONObject dataObj=(JSONObject) result.get(result.length()-1);
//若是多笔回调则用for循环遍历一下
for(int i=0;i<result.length();i++){
JSONObject dataObj=(JSONObject) result.get(i);
String state=dataObj.get("state").toString();
//每次都去拿到我们的订单号
String requestid=dataObj.get("requestid").toString();
}
外:
JSONObject jsonObj=new JSONObject(data);
String
data=jsonObj.get("data").toString();
上面这两句就等于一句
JSONObject jsonObj=(JSONObject)json.get("data");