zoukankan      html  css  js  c++  java
  • Hutool-解析JSON

    1、创建JSONObject

    JSONObject jsonObject = JSONUtil.createObj()
                    .put("姓名","张三")
                    .put("年龄",12)
                    .put("国籍","中国")
                    .put("爱好","徒步");
            System.out.println(jsonObject);  //{"姓名":"张三","爱好":"徒步","国籍":"中国","年龄":12}
            JSONObject object = new JSONObject();
            object.append("姓名","张三")
                    .append("年龄",12)
                    .append("国籍","中国")
                    .append("爱好","徒步");
            System.out.println(object.toString());  //{"姓名":["张三"],"爱好":["徒步"],"国籍":["中国"],"年龄":[12]}

    2、解析JSONObject

            //解析json字符串
            //方式1
            String jsonStr = "{"b":"value2","c":"value3","a":"value1"}";
            JSONObject jsonObject2 = JSONUtil.parseObj(jsonStr);
            System.out.println(jsonObject2);  //{"a":"value1","b":"value2","c":"value3"}
            //方式2
            JSONObject object3 = new JSONObject(jsonStr);
            System.out.println(object3);   //{"a":"value1","b":"value2","c":"value3"}

    3、JavaBean解析

    @Data
    public class UserA {
        private String name;
        private String a;
        private Date date;
        private List<Seq> sqs;
    }
    UserA userA = new UserA();
            userA.setName("nameTest");
            userA.setDate(new Date());
            userA.setSqs(CollectionUtil.newArrayList(new Seq(null), new Seq("seq2")));
            JSONObject json = JSONUtil.parseObj(userA,false,true);
            System.out.println(json.toStringPretty());
            //{
            //    "name": "nameTest",
            //    "a": null,
            //    "date": 1631158148011,
            //    "sqs": [
            //        {
            //        },
            //        {
            //        }
            //    ]
            //}

    4、JSON数组-JSONArray

     //jsonArray的解析
            //方式1
            JSONArray array = JSONUtil.createArray();
            array.add("11");
            array.add("22");
            array.add("33");
            System.out.println(array.toString());  //["11","22","33"]
            //方式2
            JSONArray array1 = new JSONArray();
            array1.add("11");
            array1.add("22");
            array1.add("33");
            System.out.println(array1.toString());  //["11","22","33"]
    
            //解析json数组
            String jsonStr4 = "["value1", "value2", "value3"]";
            JSONArray array3 = JSONUtil.parseArray(jsonStr4);
            System.out.println(array3);  //["value1","value2","value3"]
  • 相关阅读:
    2015-05-27 用正则把oracle时间转化到mysql时间
    linux版idea14界面美观和windows,mac基本一致
    ubuntu 下自定义快捷键,,用着舒服
    ubuntu 方便好用的截图软件
    Integer 包装器类 大小比较
    win7、ubuntu双系统,遇到分区不可用问题,和卸载ubuntu后win7开不了机
    巧妙小思想
    读取16进制文件和校验图片格式的问题。 文件名后缀
    旧电脑变废为宝!
    Win10打开Autodesk软件时提示“管理员已阻止你运行此应用”
  • 原文地址:https://www.cnblogs.com/nastu/p/15246346.html
Copyright © 2011-2022 走看看