Hutool-解析JSON

摘要:
“A”:“value3”}//方法2JSONObjectobject3=newJSONObject(jsonStr);“值3”}3。JavaBean解析@DatapublicclassUserA{privateStringname;}UserAuserA=newUserA();userA.setDate(newDate());真);//“a”:

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"]

免责声明:文章转载自《Hutool-解析JSON》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇收发超长短信的资料汇编一起谈.NET技术,WPF 自定义快捷键命令(Command) 狼人:下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

ES elasticsearch 各种查询

source filtering我们可以通过 _source 来定义返回想要的字段: GET twitter/_search{ "_source": ["user", "city"], "query": { "match_all": { } }}返回的结果: "hits" : [ { "_index" : "twitter", "_type" : "_d...

webdriver鼠标上下滑动

有时候我们需要对窗口显示的页面上下滑动,以显示当前正在处理的位置,这就需要用到webdriver模拟鼠标上下滑动 package test20161201; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa....

cglib应用

  JDK的动态代理,经常被用来动态地创建对象的代理。JDK的动态代理用起来非常简单,但是有一个限制,就是使用动态代理的对象必须实现一个或多个接口。如果想代理没有实现接口,还可以使用cglib包来完成代理。   cglib的底层通过使用一个小而快的字节码处理框架ASM,来转换字节码并生成新的代理类。所以基于cglib开发时需要引入cglib的jar包和AS...

VulnHub::Moee

实验环境 存在4个flag 渗透过程 0x01 信息搜集 GET IP 由于不知道靶机IP地址,进行D段扫描,获得靶机IP地址。 masscan扫描: masscan 192.168.2.0/24 -p80 --rate 1000 Starting masscan 1.0.5 (http://bit.ly/14GZzcT) at 2020-12-05 0...

802.11协议帧结构

    本文摘自一篇博客 ,插图是链接登录路由器的流量抓包。 1. 帧控制结构(Frame Control)    1) Protocol Version: (协议版本)通常为0    2) Type: 帧类型,管理帧: 00     3) Subtype: 进一步判断帧的子类型         3.1) Beacon(信标)帧        3...

基于ARM64的Qemu/KVM学习环境搭建

作者:pengdonglin137@163.com 在没有aarch64架构的开发板的情况下,可以使用Qemu来模拟一个支持KVM的AArch64位的host,然后再在其上运行一个开启KVM加速的Qemu虚拟机,如下图所示:   软件版本如下: 1: x86_64上运行的是ubuntu20.04 2:qemu版本是5.1.0,ubuntu16.04,内核版...