Java中JSON数据的解析

在Java中,可以使用第三方库或者内置类库来实现对象与JSON数据的相互转换。

使用第三方库(例如Jackson)实现对象转JSON:

java 复制代码
// 导入Jackson库
import com.fasterxml.jackson.databind.ObjectMapper;

// 定义一个对象
class Person {
    private String name;
    private int age;

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    // 省略getter和setter方法
}

public class Main {
    public static void main(String[] args) throws Exception {
        // 创建一个对象
        Person person = new Person("John", 20);

        // 创建Jackson的ObjectMapper对象
        ObjectMapper objectMapper = new ObjectMapper();

        // 将对象转换为JSON字符串
        String json = objectMapper.writeValueAsString(person);
        System.out.println(json);
    }
}

使用第三方库(例如Jackson)实现JSON数据转对象:

java 复制代码
// 导入Jackson库
import com.fasterxml.jackson.databind.ObjectMapper;

// 定义一个对象
class Person {
    private String name;
    private int age;

    public Person() {
    }

    // 省略getter和setter方法
}

public class Main {
    public static void main(String[] args) throws Exception {
        // 定义一个JSON字符串
        String json = "{\"name\":\"John\",\"age\":20}";

        // 创建Jackson的ObjectMapper对象
        ObjectMapper objectMapper = new ObjectMapper();

        // 将JSON字符串转换为对象
        Person person = objectMapper.readValue(json, Person.class);
        System.out.println(person.getName());
        System.out.println(person.getAge());
    }
}

使用Java内置类库(例如JSONObject)实现对象转JSON:

java 复制代码
// 导入Java内置类库
import org.json.JSONObject;

// 定义一个对象
class Person {
    private String name;
    private int age;

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    // 省略getter和setter方法
}

public class Main {
    public static void main(String[] args) {
        // 创建一个对象
        Person person = new Person("John", 20);

        // 创建一个JSONObject对象
        JSONObject jsonObject = new JSONObject(person);

        // 将JSONObject对象转换为JSON字符串
        String json = jsonObject.toString();
        System.out.println(json);
    }
}

使用Java内置类库(例如JSONObject)实现JSON数据转对象:

java 复制代码
// 导入Java内置类库
import org.json.JSONObject;

// 定义一个对象
class Person {
    private String name;
    private int age;

    public Person() {
    }

    // 省略getter和setter方法
}

public class Main {
    public static void main(String[] args) {
        // 定义一个JSON字符串
        String json = "{\"name\":\"John\",\"age\":20}";

        // 创建一个JSONObject对象
        JSONObject jsonObject = new JSONObject(json);

        // 将JSONObject对象转换为对象
        Person person = new Person();
        person.setName(jsonObject.getString("name"));
        person.setAge(jsonObject.getInt("age"));

        System.out.println(person.getName());
        System.out.println(person.getAge());
    }
}
相关推荐
XIE39241 分钟前
Browser-use使用教程
python
武昌库里写JAVA42 分钟前
39.剖析无处不在的数据结构
java·vue.js·spring boot·课程设计·宠物管理
酷爱码2 小时前
如何通过python连接hive,并对里面的表进行增删改查操作
开发语言·hive·python
画个大饼2 小时前
Go语言实战:快速搭建完整的用户认证系统
开发语言·后端·golang
蹦蹦跳跳真可爱5892 小时前
Python----深度学习(基于深度学习Pytroch簇分类,圆环分类,月牙分类)
人工智能·pytorch·python·深度学习·分类
喵先生!3 小时前
C++中的vector和list的区别与适用场景
开发语言·c++
Nelson_hehe3 小时前
Java基础第四章、面向对象
java·语法基础·面向对象程序设计
Thomas_YXQ3 小时前
Unity3D Lua集成技术指南
java·开发语言·驱动开发·junit·全文检索·lua·unity3d
xMathematics4 小时前
计算机图形学实践:结合Qt和OpenGL实现绘制彩色三角形
开发语言·c++·qt·计算机图形学·cmake·opengl
ShiinaMashirol4 小时前
代码随想录打卡|Day27(合并区间、单调递增的数字、监控二叉树)
java·算法