Java Json解析
2020-04-19 本文已影响0人
一亩三分甜
Json解析字典
String json = "{\n" +
" \"time_used\":1448,\n" +
" \"verification\":{\n" +
" \"idcard\":{\n" +
" \"confidence\":86.63057,\n" +
" \"thresholds\":{\n" +
" \"1e-3\":62.168713,\n" +
" \"1e-5\":74.39926,\n" +
" \"1e-4\":69.31534,\n" +
" \"1e-6\":78.038055\n" +
" }\n" +
" }\n" +
" },\n" +
" \"attack_result\":{\n" +
" \"score\":0.26,\n" +
" \"threshold\":0.5,\n" +
" \"result\":\"false\"\n" +
" },\n" +
" \"request_id\":\"1531397565,39b19451-393c-4fc4-8fae-6dc74b2b00d7\",\n" +
" \"images\":{\n" +
" \"image_best\":\"xxxxxxxxxxx\"\n" +
" },\n" +
" \"biz_no\":\"\",\n" +
" \"result_message\":\"SUCCESS\",\n" +
" \"result_code\":1000\n" +
" }";
JSONObject root = JSON.parseObject(json);
JSONObject verification = root.getJSONObject("verification");
if (Objects.nonNull(verification)) {
JSONObject idcard = verification.getJSONObject("idcard");
System.out.println(idcard);
}
//输出
{"thresholds":{"1e-6":78.038055,"1e-5":74.39926,"1e-4":69.31534,"1e-3":62.168713},"confidence":86.63057}
解析字典中含有数组
List<Student> studentList = new ArrayList<Student>();
Student student1 = new Student();
student1.setId(0);
List<String> resultNumbers = new ArrayList<String>();
resultNumbers.add("12");
resultNumbers.add("23");
student1.setResultNumber(resultNumbers);
Student student2 = new Student();
student2.setId(1);
List<String> resultNumbers2 = new ArrayList<String>();
resultNumbers2.add("45");
resultNumbers2.add("56");
student2.setResultNumber(resultNumbers2);
studentList.add(student1);
studentList.add(student2);
Map<String, Object> map = new HashMap<String, Object>();
map.put("count", 2);
map.put("studentList", studentList);
String json = JSON.toJSONString(map, true);
System.out.println(json);
HashMap parseMap = JSON.parseObject(json, HashMap.class);
System.out.println(parseMap);
List<Student> studentList0 = (List<Student>) parseMap.get("studentList");
System.out.println(studentList0);
// for (Student student:studentList0){
// System.out.println(student.getId()+" ");
// }
List<Student> studentList2 = JSON.parseArray(JSON.parseObject(json).getString("studentList"),Student.class);
System.out.println(studentList2);
//输出
{
"count":2,
"studentList":[
{
"id":0,
"resultNumber":[
"12",
"23"
]
},
{
"id":1,
"resultNumber":[
"45",
"56"
]
}
]
}
{count=2, studentList=[{"id":0,"resultNumber":["12","23"]},{"id":1,"resultNumber":["45","56"]}]}
[{"id":0,"resultNumber":["12","23"]},{"id":1,"resultNumber":["45","56"]}]
[Student{id=0, resultNumber=[12, 23]}, Student{id=1, resultNumber=[45, 56]}]
