1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
| //第二种方法:json字符串--数组型与JSONArray对象之间的转换 @Test public void jsonStrToJSONArray2() { String str = "{\"errors\":[{\"code\":\"UUM70004\",\"message\":\"组织单元名称不能为空\",\"data\":{\"id\":\"254\",\"suborderNo\":\"SUB_2018062797348039\",\"organUnitType\":\"部门\",\"action\":\"add\",\"parent\":\"10000\",\"ordinal\":0,\"organUnitFullName\":\"组织单元全称\"},\"success\":false},{\"code\":\"UUM70004\",\"message\":\"组织单元名称不能为空\",\"data\":{\"id\":\"255\",\"suborderNo\":\"SUB_2018062797348039\",\"organUnitType\":\"部门\",\"action\":\"add\",\"parent\":\"10000\",\"ordinal\":0,\"organUnitFullName\":\"组织单元全称\"},\"success\":false}]}"; //获取jsonobject对象 JSONObject jsonObject = JSON.parseObject(str); //把对象转换成jsonArray数组 JSONArray error = jsonObject.getJSONArray("errors"); //error==>[{"code":"UUM70004","message":"组织单元名称不能为空","data":{"id":"254","suborderNo":"SUB_2018062797348039","organUnitType":"部门","action":"add","parent":"10000","ordinal":0,"organUnitFullName":"组织单元全称"},"success":false},{"code":"UUM70004","message":"组织单元名称不能为空","data":{"id":"255","suborderNo":"SUB_2018062797348039","organUnitType":"部门","action":"add","parent":"10000","ordinal":0,"organUnitFullName":"组织单元全称"},"success":false}] //将数组转换成字符串 String jsonString = JSONObject.toJSONString(error);//将array数组转换成字符串 //将字符串转成list集合 List<Error> errors = JSONObject.parseArray(jsonString, Error.class);//把字符串转换成集合 for (Error e: errors) { //Error的属性 System.out.println("另一种数组转换Error属性="+e.getSuccess()); System.out.println("另一种数组转换Error属性="+e.getCode()); System.out.println("另一种数组转换Error属性="+e.getMessage()); //Error集合属性 List<Data> datas = e.getData(); for (Data d: datas) { System.out.println("另一种数组转换data对象属性="+d.getId()); System.out.println("另一种数组转换data对象属性="+d.getAction()); System.out.println("另一种数组转换data对象属性="+d.getSuborderNo()); } } //另一种数组转换Error属性=false //另一种数组转换Error属性=UUM70004 //另一种数组转换Error属性=组织单元名称不能为空 //另一种数组转换data对象属性=254 //另一种数组转换data对象属性=add //另一种数组转换data对象属性=SUB_2018062797348039
//另一种数组转换Error属性=false //另一种数组转换Error属性=UUM70004 //另一种数组转换Error属性=组织单元名称不能为空 //另一种数组转换data对象属性=255 //另一种数组转换data对象属性=add //另一种数组转换data对象属性=SUB_2018062797348039 }
|