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);
    }
}


相关文章
|
1天前
|
设计模式 JavaScript Java
[设计模式Java实现附plantuml源码~行为型] 对象状态及其转换——状态模式
[设计模式Java实现附plantuml源码~行为型] 对象状态及其转换——状态模式
|
3天前
|
Java
Java基础之对象的引用
Java基础之对象的引用
5 0
|
7天前
|
Java
Java中如何克隆一个对象?
【4月更文挑战第13天】
15 0
|
9天前
|
Java API 数据库
深入解析:使用JPA进行Java对象关系映射的实践与应用
【4月更文挑战第17天】Java Persistence API (JPA) 是Java EE中的ORM规范,简化数据库操作,让开发者以面向对象方式处理数据,提高效率和代码可读性。它定义了Java对象与数据库表的映射,通过@Entity等注解标记实体类,如User类映射到users表。JPA提供持久化上下文和EntityManager,管理对象生命周期,支持Criteria API和JPQL进行数据库查询。同时,JPA包含事务管理功能,保证数据一致性。使用JPA能降低开发复杂性,但需根据项目需求灵活应用,结合框架如Spring Data JPA,进一步提升开发便捷性。
|
13天前
|
存储 Java 编译器
对象的交响曲:深入理解Java面向对象的绝妙之处
对象的交响曲:深入理解Java面向对象的绝妙之处
46 0
对象的交响曲:深入理解Java面向对象的绝妙之处
|
17天前
|
XML JSON JavaScript
Java中XML和JSON的比较与应用指南
本文对比了Java中XML和JSON的使用,XML以自我描述性和可扩展性著称,适合结构复杂、需验证的场景,但语法冗长。JSON结构简洁,适用于轻量级数据交换,但不支持命名空间。在Java中,处理XML可使用DOM、SAX解析器或XPath,而JSON可借助GSON、Jackson库。根据需求选择合适格式,注意安全、性能和可读性。
26 0
|
19天前
|
Java
在Java中,多态性允许不同类的对象对同一消息做出响应
【4月更文挑战第7天】在Java中,多态性允许不同类的对象对同一消息做出响应
17 2
|
22天前
|
JSON C语言 数据格式
C语言与lua通过json对象交互
C语言与lua通过json对象交互
17 1
|
23天前
|
XML JSON JavaScript
使用JSON和XML:数据交换格式在Java Web开发中的应用
【4月更文挑战第3天】本文比较了JSON和XML在Java Web开发中的应用。JSON是一种轻量级、易读的数据交换格式,适合快速解析和节省空间,常用于API和Web服务。XML则提供更强的灵活性和数据描述能力,适合复杂数据结构。Java有Jackson和Gson等库处理JSON,JAXB和DOM/SAX处理XML。选择格式需根据应用场景和需求。
|
24天前
|
JSON 数据格式
Json字符串与QVariantList 对象相互转换
Json字符串与QVariantList 对象相互转换
7 0