json 字符串类型两种转换

来源:互联网 发布:伊斯兰教 知乎 编辑:程序博客网 时间:2024/05/16 07:40

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();



原创粉丝点击