{
"RouteResponse":{
"mailno":"SF1011789832950",
"Route":[
{
"remark":"順豐速運 已收取快件",
"accept_time":"2020-06-28 09:35:26",
"accept_address":"深圳市",
"opcode":"50"
},
{
"remark":"快件在【深圳寶安新唐工業園營業部】已裝車,準備發往下一站",
"accept_time":"2020-06-28 09:35:46",
"accept_address":"深圳市",
"opcode":"30"
},
{
"remark":"快件到達 【上海大六專案營業點】",
"accept_time":"2020-06-28 09:35:52",
"accept_address":"上海市",
"opcode":"31"
},
{
"remark":"快件在【上海大六專案營業點】已裝車,準備發往下一站",
"accept_time":"2020-06-28 09:35:59",
"accept_address":"上海市",
"opcode":"30"
},
{
"remark":"快件到達 【上海閔行曹行營業點】",
"accept_time":"2020-06-28 09:36:05",
"accept_address":"上海市",
"opcode":"31"
}
]
}
}
uj5u.com熱心網友回復:
這種格式固定了的,你可以先用判斷“remark”欄位出現了幾次,然后作為回圈體的回圈次數i,然后在每一次回圈時,做字串的截取,獲取‘"remark":"’之后,‘"accept_time"’之前 這個區間范圍類的內容,并存放到String中,然后add到List<String> list中,在回圈體的最后,將‘"remark"’和‘"accept_time"’用replace(str,''),替換成‘’,這樣,當下次回圈體在去獲取時,就會去獲取第二個
uj5u.com熱心網友回復:
決議成json物件 然后將Route 取出來轉成jaonArray,遍歷這個陣列,然后獲取每個元素中 remark這個key的值uj5u.com熱心網友回復:
public static void main(String[] args) {//json為com.alibaba.fastjson
//你的json字串
String data = "{\"RouteResponse\":{\"mailno\":\"SF1011789832950\",\"Route\":[{\"remark\":\"順豐速運 已收取快件\",\"accept_time\":\"2020-06-28 09:35:26\",\"accept_address\":\"深圳市\",\"opcode\":\"50\"},{\"remark\":\"快件在【深圳寶安新唐工業園營業部】已裝車,準備發往下一站\",\"accept_time\":\"2020-06-28 09:35:46\",\"accept_address\":\"深圳市\",\"opcode\":\"30\"},{\"remark\":\"快件到達 【上海大六專案營業點】\",\"accept_time\":\"2020-06-28 09:35:52\",\"accept_address\":\"上海市\",\"opcode\":\"31\"},{\"remark\":\"快件在【上海大六專案營業點】已裝車,準備發往下一站\",\"accept_time\":\"2020-06-28 09:35:59\",\"accept_address\":\"上海市\",\"opcode\":\"30\"},{\"remark\":\"快件到達 【上海閔行曹行營業點】\",\"accept_time\":\"2020-06-28 09:36:05\",\"accept_address\":\"上海市\",\"opcode\":\"31\"}]}}";
//json格式化
JSONObject jsonObject = JSON.parseObject(data);
//獲取RouteResponse值
JSONObject routeResponse = jsonObject.getJSONObject("RouteResponse");
//獲取Route陣列
JSONArray routes = routeResponse.getJSONArray("Route");
//遍歷
for (Object route:routes){
//將元素json格式化
JSONObject jsonObject1 = JSON.parseObject(route.toString());
//獲取每個remark
String remark = jsonObject1.getString("remark");
System.out.println(remark);
}
}
uj5u.com熱心網友回復:
uj5u.com熱心網友回復:
String str = "{\n" +
" \"RouteResponse\":{\n" +
" \"mailno\":\"SF1011789832950\",\n" +
" \"Route\":[\n" +
" {\n" +
" \"remark\":\"順豐速運 已收取快件\",\n" +
" \"accept_time\":\"2020-06-28 09:35:26\",\n" +
" \"accept_address\":\"深圳市\",\n" +
" \"opcode\":\"50\"\n" +
" },\n" +
" {\n" +
" \"remark\":\"快件在【深圳寶安新唐工業園營業部】已裝車,準備發往下一站\",\n" +
" \"accept_time\":\"2020-06-28 09:35:46\",\n" +
" \"accept_address\":\"深圳市\",\n" +
" \"opcode\":\"30\"\n" +
" },\n" +
" {\n" +
" \"remark\":\"快件到達 【上海大六專案營業點】\",\n" +
" \"accept_time\":\"2020-06-28 09:35:52\",\n" +
" \"accept_address\":\"上海市\",\n" +
" \"opcode\":\"31\"\n" +
" },\n" +
" {\n" +
" \"remark\":\"快件在【上海大六專案營業點】已裝車,準備發往下一站\",\n" +
" \"accept_time\":\"2020-06-28 09:35:59\",\n" +
" \"accept_address\":\"上海市\",\n" +
" \"opcode\":\"30\"\n" +
" },\n" +
" {\n" +
" \"remark\":\"快件到達 【上海閔行曹行營業點】\",\n" +
" \"accept_time\":\"2020-06-28 09:36:05\",\n" +
" \"accept_address\":\"上海市\",\n" +
" \"opcode\":\"31\"\n" +
" }\n" +
" ]\n" +
" }\n" +
"}";
try {
List<String> list = new ArrayList<>();
JSONObject jo = JSON.parseObject(str);
JSONObject routeResponse = JSON.parseObject(jo.getString("RouteResponse"));
JSONArray route = JSON.parseArray(routeResponse.getString("Route"));
for (int i = 0; i < route.size() ; i++) {
JSONObject j = (JSONObject) route.get(i);
list.add(j.getString("remark"));
}
list.forEach(System.out :: println);
} catch (Exception e) {
e.printStackTrace();
}
結果:
uj5u.com熱心網友回復:
回答完才發現,我的實作方法和你想的一模一樣。
uj5u.com熱心網友回復:
不不 你的比我好看
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/46159.html
標籤:Eclipse
下一篇:請大神們看一下 jsp頁面報了空指標HTTP Status 500 - java.lang.NullPointerException
