JSON数据处理之jackson

本文详细介绍了如何使用Jackson库实现Java对象与JSON之间的互相转换,包括单个对象、List和Map的转换方法。通过具体示例,展示了如何创建Jackson核心对象ObjectMapper,以及如何使用其writeValue和readValue方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

相关Jar包:
  1. jackson-annotations-2.9.8.jar
  2. jackson-core-2.9.8.jar
  3. jackson-databind-2.9.8.jar
核心内容

jackson核心对象
ObjectMapper mapper = new ObjectMapper();

常用方法:
1.对象转JSON

  • writeValue(参数1, obj)
    参数1:
    File:将obj对象转换为json字符串,并保存到指定的文件中
    Writer:将obj对象转换为json字符串,并将json数据填充到字符输出流中
    OutputStream:将obj对象转换为json字符串,并将json数据填充到字节输出流中
  • writeValueAsString(obj):将对象转换为json字符串

2.JSON转对象

  • readValue(String content, Class valueType)
    content:json字符串
    valueType:要转换的Java对象类型(如:Person.class)
对象转JSON
  1. Java基本对象转JSON
public void test1() throws Exception {
        // 1.创建person对象
        Person p1 = new Person();
        p1.setName("Lisa");
        p1.setAge(15);
        p1.setGender(0);
        // 2.创建Jackson核心对象ObjectMapper
        ObjectMapper mapper = new ObjectMapper();
        // 3.调用方法进行转换
        String json = mapper.writeValueAsString(p1);
        System.out.println(json); // {"name":"Lisa","age":15,"gender":0}
    }
  1. list转JSON
public void test2() throws Exception {
        // 1.创建person对象
        Person p1 = new Person();
        p1.setName("Lisa");
        p1.setAge(20);
        p1.setGender(0);
        Person p2 = new Person();
        p2.setName("Lily");
        p2.setAge(18);
        p2.setGender(0);
        Person p3 = new Person();
        p3.setName("Harry");
        p3.setAge(22);
        p3.setGender(1);
        ArrayList list = new ArrayList();
        list.add(p1);
        list.add(p2);
        list.add(p3);
        // 2.创建Jackson核心对象ObjectMapper
        ObjectMapper mapper = new ObjectMapper();
        // 3.调用方法进行转换
        String json = mapper.writeValueAsString(list);
        System.out.println(json);   
        // [{"name":"Lisa","age":20,"gender":0},{"name":"Lily","age":18,"gender":0},{"name":"Harry","age":22,"gender":1}]
    }
  1. map转JSON
public void test3() throws Exception {
        // 1.创建map并保存数据
        Map<String, Object> map = new HashMap<String, Object>();
        map.put("name", "Lisa");
        map.put("age", 18);
        map.put("gender", 0);
        // 2.创建Jackson核心对象ObjectMapper
        ObjectMapper mapper = new ObjectMapper();
        // 3.调用方法进行转换
        String json = mapper.writeValueAsString(map);
        System.out.println(json);   // {"gender":0,"name":"Lisa","age":18}
    }
JSON转对象
  1. JSON转Java基本对象
public void test4() throws Exception {
        // 1.创建json字符串
        String json = "{\"name\":\"Lisa\",\"age\":18,\"gender\":0}";
        // 2.创建Jackson核心对象ObjectMapper
        ObjectMapper mapper = new ObjectMapper();
        // 3.调用方法进行转换
        Person person = mapper.readValue(json, Person.class);
        System.out.println(person); // Person{name='Lisa', age=18, gender=0}

    }
  1. JSON转list
public void test5() throws Exception {
        // 1.创建json字符串
        String json = "[{\"name\":\"Lisa\",\"age\":20,\"gender\":0},{\"name\":\"Lily\",\"age\":18,\"gender\":0}]";
        // 2.创建Jackson核心对象ObjectMapper
        ObjectMapper mapper = new ObjectMapper();
        // 3.调用方法进行转换
        List list = mapper.readValue(json, List.class);
        System.out.println(list);
        //[{name=Lisa, age=20, gender=0}, {name=Lily, age=18, gender=0}]
    }
  1. JSON转map
public void test6() throws Exception {
        // 1.创建json字符串
        String json = "{\"name\":\"Lisa\",\"age\":20,\"gender\":0}";
        // 2.创建Jackson核心对象ObjectMapper
        ObjectMapper mapper = new ObjectMapper();
        // 3.调用方法进行转换
        Map map = mapper.readValue(json, Map.class);
        System.out.println(map);
        // {name=Lisa, age=20, gender=0}
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陌影~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值