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());
    }
}
相关推荐
闲云一鹤20 分钟前
Python 入门(二)- 使用 FastAPI 快速生成后端 API 接口
python·fastapi
桦说编程38 分钟前
实战分析 ConcurrentHashMap.computeIfAbsent 的锁冲突问题
java·后端·性能优化
Rockbean1 小时前
用40行代码搭建自己的无服务器OCR
服务器·python·deepseek
曲幽2 小时前
FastAPI + Ollama 实战:搭一个能查天气的AI助手
python·ai·lora·torch·fastapi·web·model·ollama·weatherapi
用户60648767188963 小时前
国内开发者如何接入 Claude API?中转站方案实战指南(Python/Node.js 完整示例)
人工智能·python·api
只与明月听3 小时前
RAG深入学习之Chunk
前端·人工智能·python
程序员清风5 小时前
用了三年AI,我总结出高效使用AI的3个习惯!
java·后端·面试
用户8356290780515 小时前
自动化文档处理:Python 批量提取 PDF 图片
后端·python
beata5 小时前
Java基础-13: Java反射机制详解:原理、使用与实战示例
java·后端
用户0332126663675 小时前
Java 使用 Spire.Presentation 在 PowerPoint 中添加或删除表格行与列
java