Json \ Jackson \ ObjectMapper 的关系,Java对象和Json对象的相互转化

简介: Json \ Jackson \ ObjectMapper 的关系,Java对象和Json对象的相互转化

1. 三者之间的关系


  • Jason 是存储和交换文本信息的一种语法
  • Jackson 是当前最广泛用来序列化 和 反序列化  json 的 java 开源框架
  • ObjectMapper 是 Jackson 中最常用的一个API


2. ObjectMapper 主要方法


  • writeValueAsString ( )
  • readValue ( )

 

 

① Java与Json对象的相互转换

public class Person {
    int id;
    String name;
    String password;
    public Person(int id, String name, String password) {
        this.id = id;
        this.name = name;
        this.password = password;
    }
}
public class ObjectMapperTest {
    public static void main(String[] args) throws IOException {
        ObjectMapper objectMapper = new ObjectMapper();
        // Person对象转换为Json的格式
        Person person = new Person(1, "小明", "2222");
        String jsonString = objectMapper.writeValueAsString(person);
        System.out.println("JsonString: " + jsonString);
        // Json转换为Person对象
        Person person1 = objectMapper.readValue(jsonString, Person.class);
        System.out.println(person1.toString());
    }
}


② Java与Json数组的相互转换

public class ObjectMapperTest {
    public static void main(String[] args) throws IOException {
        ObjectMapper objectMapper = new ObjectMapper();
        //Java数组转换为JSON数组
        Person person1 = new Person(1, "张三", "33333");
        Person person2 = new Person(2, "李四", "44444");
        List<Person> personList = new ArrayList<>();
        personList.add(person1);
        personList.add(person2);
        String jsonString = objectMapper.writeValueAsString(personList);
        System.out.println("JsonString List: " + jsonString);
    }
}


相关文章
|
5天前
|
存储 缓存 监控
Java面试题:在Java中,对象何时可以被垃圾回收?编程中,如何更好地做好垃圾回收处理?
Java面试题:在Java中,对象何时可以被垃圾回收?编程中,如何更好地做好垃圾回收处理?
16 0
|
12天前
|
Java 数据安全/隐私保护
|
5天前
|
存储 缓存 算法
Java面试题:给出代码优化的常见策略,如减少对象创建、使用缓存等。
Java面试题:给出代码优化的常见策略,如减少对象创建、使用缓存等。
6 0
|
5天前
|
设计模式 存储 缓存
Java面试题:结合建造者模式与内存优化,设计一个可扩展的高性能对象创建框架?利用多线程工具类与并发框架,实现一个高并发的分布式任务调度系统?设计一个高性能的实时事件通知系统
Java面试题:结合建造者模式与内存优化,设计一个可扩展的高性能对象创建框架?利用多线程工具类与并发框架,实现一个高并发的分布式任务调度系统?设计一个高性能的实时事件通知系统
9 0
|
6天前
|
Java
Java的对象监视器
摘要: Java中的监视器(Monitor)是线程同步机制,每个对象带有一个与之关联的监视器。线程通过`synchronized`获取和释放锁。监视器包含入口集(等待锁的线程)、所有者线程(持锁线程)和等待集(调用`wait()`的线程)。线程在入口集阻塞,等待集调用`wait()`后释放锁进入等待。线程状态包括新建、可运行、阻塞、等待、超时等待和终止。示例代码展示了线程如何在不同状态间转换,如线程获取和释放监视器锁以及调用`wait()`和`notify()`方法。
|
10天前
|
Java 数据安全/隐私保护
Java中的类与对象详解
Java中的类与对象详解
|
10天前
|
存储 Java
Redis08命令-Hash类型,也叫散列,其中value是一个无序字典,类似于java的HashMap结构,Hash结构可以将对象中的每个字段独立存储,可以针对每字段做CRUD
Redis08命令-Hash类型,也叫散列,其中value是一个无序字典,类似于java的HashMap结构,Hash结构可以将对象中的每个字段独立存储,可以针对每字段做CRUD
|
11天前
|
JSON Java 数据格式
前后端数据交换,JSON基础语法和JSON数据和Java对象转换,最快的对象转换,JSON{““}字符串如何写User{id=1,username=‘zhangsan‘,password=‘123‘}
前后端数据交换,JSON基础语法和JSON数据和Java对象转换,最快的对象转换,JSON{““}字符串如何写User{id=1,username=‘zhangsan‘,password=‘123‘}
|
10月前
|
JSON Java Maven
在Java中,我们可以使用第三方库来解析JSON数据
在Java中,我们可以使用第三方库来解析JSON数据。这里以常用的Jackson库为例,演示如何解析JSON数据。
68 1
|
9月前
|
JSON Java Maven