json 字符串类型两种转换

1.第一种json格式转换;需要导入jar包;

json-lib-2.4-jdk15.jar;

ezmorph-1.0.4.jar;

commons-logging-1.1.1.jar;

 

commons-lang-2.4.jar;

commons-collections-3.2.1.jar;

commons-beanutils-1.8.3.jar;

 

String result="{"status":"0","msg":"ok",
                            "result":{"number":"420032722706","type":"sfexpress",
                            "list":[{"time":"2017-08-16 10:03:48","status":"在官网\"运单资料&签收图\",可查看签收人信息"},{"time":"2017-08-16 10:02:32","status":"已签收,感谢使用顺丰,期待再次为您服务"},{"time":"2017-08-16 08:06:16","status":"快件交给李刚刚,正在派送途中(联系电话:18926429835)"},{"time":"2017-08-16 07:48:47","status":"正在派送途中,请您准备签收(派件人:李刚刚,电话:18926429835)"},{"time":"2017-08-15 23:52:47","status":"快件到达 【深圳南山科技园南区营业点】"},{"time":"2017-08-15 22:41:02","status":"快件在【深圳黄田集散中心】已装车,准备发往 【深圳南山科技园南区营业点】"},{"time":"2017-08-15 22:18:33","status":"快件到达 【深圳黄田集散中心】"},{"time":"2017-08-15 19:00:40","status":"快件在【广州新塘集散中心】已装车,准备发往 【深圳黄田集散中心】"},{"time":"2017-08-15 18:37:32","status":"快件到达 【广州新塘集散中心】"},{"time":"2017-08-15 16:34:46","status":"快件在【广州萝岗南翔二路营业部】已装车,准备发往 【广州新塘集散中心】"},{"time":"2017-08-15 14:44:00","status":"顺丰速运 已收取快件"}],
                                        "deliverystatus":"3","issign":"1"}}";
 /**
  * 这种json格式,是在接口类型中返回比较常见的;
  * status,msg,result是在同一级,而list又在result中,而且还是数组;
  * 通通都是分级来获取;最外层可以直接获取,而里面需要一层层剥
  */
JSONObject json = JSONObject.fromObject(result);//转化json格式 
//最外一层
json.getInt("status");//获取得是0,整型;
json.getString("msg");//获取得是ok,字符型;
//第二层
JSONObject resultarr = (JSONObject) json.opt("result");
 String type = resultarr.getString("type");
 //第三层是数组
 JSONArray list = resultarr.optJSONArray("list");
 for (int j = 0; j < list.size(); j++) {
 JSONObject list_obj = (JSONObject) list.opt(j);
  if (list_obj != null) {
            String time = list_obj.getString("time");
            String status = list_obj.getString("status");
            System.out.println(time + " " + status);
        
    } 
     
 }

 

2.第二种json格式转换

 

需要jarbao,gson-2.5.jar;

 

 

String result="{  "EBusinessID": "1300324",  "ShipperCode": "SF",  "Success": true,  "LogisticCode": "236617947430",  "State": "4",  
                    "Traces": [    {      "AcceptTime": "2017-08-09 18:08:32",      "AcceptStation": "【恒安路速运营业点】顺丰速运 已收取快件"    },    {      "AcceptTime": "2017-08-09 19:19:39",      "AcceptStation": "【恒安路速运营业点】快件在【榆林榆阳恒安路速运营业点】已装车,准备发往 【榆林榆阳中转场】"    },    {      "AcceptTime": "2017-08-09 20:02:32",      "AcceptStation": "【榆林榆阳中转场】快件到达 【榆林榆阳中转场】"    },    {      "AcceptTime": "2017-08-09 20:04:32",      "AcceptStation": "【榆林榆阳中转场】快件在【榆林榆阳中转场】已装车,准备发往下一站"    },    {      "AcceptTime": "2017-08-10 08:12:02",      "AcceptStation": "【西北陆运枢纽(西安)】快件到达 【西安陆运中转场】"    },    {      "AcceptTime": "2017-08-10 08:27:39",      "AcceptStation": "【西北陆运枢纽(西安)】快件在【西安陆运中转场】已装车,准备发往 【西安总集散中心】"    },    {      "AcceptTime": "2017-08-10 14:32:13",      "AcceptStation": "【西安咸阳航空站点】快件到达 【西安总集散中心】"    },    {      "AcceptTime": "2017-08-10 15:04:11",      "AcceptStation": "【西安咸阳航空站点】快件在【西安总集散中心】已装车,准备发往 【广州白云集散中心】"    },    {      "AcceptTime": "2017-08-11 06:11:07",      "AcceptStation": "【广州白云中转场】快件到达 【广州白云集散中心】"    },    {      "AcceptTime": "2017-08-11 06:11:07",      "AcceptStation": "【广州白云中转场】快件在【广州白云集散中心】已装车,准备发往 【深圳黄田集散中心】"    },    {      "AcceptTime": "2017-08-11 09:53:25",      "AcceptStation": "【深圳黄田中转场】快件到达 【深圳黄田集散中心】"    },    {      "AcceptTime": "2017-08-11 10:16:45",      "AcceptStation": "【深圳黄田中转场】快件在【深圳黄田集散中心】已装车,准备发往 【深圳南山科技园南区营业点】"    },    {      "AcceptTime": "2017-08-11 13:19:56",      "AcceptStation": "【科技园速运营业部】快件到达 【深圳南山科技园南区营业点】"    },    {      "AcceptTime": "2017-08-11 14:00:24",      "AcceptStation": "【科技园速运营业部】快件交给邱良强,正在派送途中(联系电话:13728839748)"    },    {      "AcceptTime": "2017-08-11 17:01:16",      "AcceptStation": "【科技园速运营业部】应客户要求,快件正在/已经退回"    },    {      "AcceptTime": "2017-08-11 17:43:36",      "AcceptStation": "【科技园速运营业部】快件派送不成功(因电话无人接听/关机/无信号,暂无法联系到收方客户),正在处理中,待再次派送"    },    {      "AcceptTime": "2017-08-15 10:33:53",      "AcceptStation": "【科技园速运营业部】快件交给邱良强,正在派送途中(联系电话:13728839748)"    },    {      "AcceptTime": "2017-08-15 11:40:52",      "AcceptStation": "【深圳南山科技园南区营业点】已签收,感谢使用顺丰,期待再次为您服务"    }  ]}";
JsonParser jp = new JsonParser();//创建json解析器;
JsonObject object = (JsonObject) jp.parse(result); //转换成json格式;
//获取第一层
String Success = object.get("Success").getAsString();
//获取第二层,数组
JsonArray array = object.get("Traces").getAsJsonArray();
//获取指定位置的信息,也可以遍历(在这个就不演示)
JsonObject subObject = array.get(array.size() - 1).getAsJsonObject();
String AcceptTime = subObject.get("AcceptTime").getAsString();
String AcceptStation = subObject.get("AcceptStation").getAsString();

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值