创建项目
在IDEA中新建一个Java项目,在建好后的项目结构中添加一些必要的目录和文件,我最终的项目结构如图所示:

其中,
- Person和- Dog是用于演示的两个类;
- JSONTest是实现将- Person和- Dog的实例对象转换成字符串,以及将字符串转换成对象的类;
- JsonExample是- JSOnTest的实现类。
引入jar包
可以使用已有的方法实现JSON转换,需要先引入jar包。
步骤如下:
点击进入“项目结构” ==> 点击“库” ==> 点击 “+” 添加并选择“来自Maven” ==> 搜索并下载如图三个jar包



在搜索框中搜索:

最后一路应用和确认即可。
源码
Person.java
public class Person {
    private String name;
    private int age;
    private Dog dog;
    public Person() {
        // Empty constructor
    }
    public Person(String name, int age, Dog dog) {
        this.name = name;
        this.age = age;
        this.dog = dog;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    public Dog getDog() {
        return dog;
    }
    public void setDog(Dog dog) {
        this.dog = dog;
    }
}
Dog.java
package com.example;
public class Dog {
    private String name;
    public Dog() {
        this.name = "Unknown";
    }
    public Dog(String name) {
        this.name = name;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
}
JSONTest.java
package test;
import com.example.Dog;
import com.example.Person;
import com.fasterxml.jackson.databind.ObjectMapper;
public class JSONTest {
    public void testWriteJson() {
        // 创建对象
        Dog dog = new Dog("旺财");
        Person person = new Person("张三", 18, dog);
        // 将对象转换为JSON字符串
        ObjectMapper objectMapper = new ObjectMapper();
        try {
            String jsonStr = objectMapper.writeValueAsString(person);
            System.out.println(jsonStr);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    public void testReadJson() {
        // JSON字符串
        String jsonStr = "{\"name\":\"张三\",\"age\":18,\"dog\":{\"name\":\"旺财\"}}";
        // 将JSON字符串转换为对象
        ObjectMapper objectMapper = new ObjectMapper();
        try {
            Person person = objectMapper.readValue(jsonStr, Person.class);
            System.out.println(person);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
JsonExample.java
package test;
public class JsonExample {
    public static void main(String[] args) {
        JSONTest jsonTest = new JSONTest();
        jsonTest.testWriteJson();
        jsonTest.testReadJson();
    }
}
运行测试
可以在JSONTest中的System.out.println(person);那一行打上一个短点,方便运行调试时查看,对象变量的具体值。
点击调试,结果如下:




















