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());
    }
}
相关推荐
FL162386312910 小时前
[C#][winform]基于yolov8的水表读数检测与识别系统C#源码+onnx模型+评估指标曲线+精美GUI界面
开发语言·yolo·c#
cnxy18813 小时前
围棋对弈Python程序开发完整指南:步骤1 - 棋盘基础框架搭建
开发语言·python
落叶,听雪13 小时前
河南建站系统哪个好
大数据·人工智能·python
Nonoas14 小时前
动态代理:发布订阅的高级玩法
java·ide·intellij-idea
无奈笑天下14 小时前
【麒麟镜像vmtools异常排查指导书】
linux·运维·经验分享·云计算·kylin
大数据追光猿14 小时前
【大数据Doris】生产环境,Doris主键模型全表7000万数据更新写入为什么那么慢?
大数据·经验分享·笔记·性能优化·doris
极客小云14 小时前
【生物医学NLP信息抽取:药物识别、基因识别与化学物质实体识别教程与应用】
python·机器学习·nlp
南_山无梅落14 小时前
12.Python3函数基础:定义、调用与参数传递规则
python
程序员-周李斌14 小时前
Java 死锁
java·开发语言·后端
皮皮林55115 小时前
Prometheus+Grafana,打造强大的监控与可视化平台
java