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());
    }
}
相关推荐
咩咩啃树皮7 小时前
第40篇:Vue3组件化开发精讲——组件拆分、复用、父子通信、工程化架构
java·前端·架构
灯澜忆梦7 小时前
GO_并发编程---定时器
开发语言·后端·golang
鱟鲥鳚7 小时前
Spring Boot 集成 LangChain4j:从模型调用到 Tool Calling(Demo版)
java·spring boot
-银雾鸢尾-7 小时前
C#中的StringBuilder相关方法
开发语言·c#
富唯智能8 小时前
复合机器人 vs 工业人形机器人|工厂工序选型回本方案
经验分享
-银雾鸢尾-8 小时前
C#中结构体与类的区别;抽象类与接口的区别
开发语言·c#
大模型码小白8 小时前
【Python零基础教程】继承、多态与魔法函数:面向对象编程三大核心特性详解
java·大数据·开发语言·人工智能·python·ai编程
麻雀飞吧9 小时前
最新量化学习路径,交易认知和技术实现要并行
人工智能·python
腾渊信息科技公司9 小时前
Spring Boot对接MES实战:视觉检测数据自动同步方案
java·人工智能·spring boot·后端·计算机视觉·ai·软件需求
-XWB-10 小时前
【LLM】Agent Planning 完全指南:8 种纯 LLM 范式 + 8 种混合规划模式详解(二)
人工智能·经验分享·aigc·学习方法·ai编程