美文网首页Java
Java Json解析

Java Json解析

作者: 一亩三分甜 | 来源:发表于2020-04-19 00:32 被阅读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

相关文章

  • Spring Boot的Json解析方案

    Spring Boot的Json解析方案 1.JSon @ResponseBody 使java对象返回为Json数...

  • Fastjson

    Fastjson是基于Java开发的JSON解析器和生成器,是Alibaba开源的JSON解析库。 支持解析JSO...

  • 菜鸟笔记(五) - 常见传输格式解析

    本文将介绍使用Java解析json和生成json,解析xml以及生成xml的一些方法。 前提摘要:JSON和XML...

  • @SerializedName注解

    在Android中解析Gson解析json数据是很方便快捷的,可以直接将json数据解析成java对象或者集合。G...

  • Fastjson反序列化漏洞利用

    前言 Fastjson 是阿里巴巴的开源JSON解析库,它可以解析 JSON 格式的字符串,支持将 Java Be...

  • Json解析(使用Gson)

    Json的解析成 java 对象 Gson gson = new Gson(); // 将json 转化成 j...

  • bom报头错误

    android解析json出错:JSONException: Value of type java.lang.St...

  • Gson

    谷歌对于JSON解析提供了一个开源框架称为GSON,相比于Java的Json要简单的多 解析 反向操作

  • fastjson 反序列化远程代码执行漏洞复现

    漏洞概述: fastjson 是阿里巴巴的开源JSON解析库,它可以解析 JSON 格式的字符串,支持将 Java...

  • JAVA小记--gson 使用

    Json解析是Server Api通信中常用的方式,如何正确解析json往往带来一些苦难,许久不用java,以前写...

网友评论

    本文标题:Java Json解析

    本文链接:https://www.haomeiwen.com/subject/ylztbhtx.html