Java

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]}]
WX20200419-002155.png
上一篇 下一篇

猜你喜欢

热点阅读