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());
    }
}
相关推荐
Valueyou243 分钟前
引入基于加权 IoU 的 WiseIoU 回归损失以提升 CT 图像检测鲁棒性
人工智能·python·深度学习·目标检测
Murphy_lx5 分钟前
C++ 条件变量
linux·开发语言·c++
熊猫钓鱼>_>12 分钟前
多维度股票量化指标体系详解
python·股票·量化·指标·趋势·macd·估值
羚羊角uou18 分钟前
【C++】智能指针
开发语言·c++
代码不停24 分钟前
网络原理——初识
开发语言·网络·php
xiaohua100929 分钟前
ZGC实践
java·jvm
蒂法就是我32 分钟前
策略模式在spring哪里用到了?
java·spring·策略模式
傻啦嘿哟41 分钟前
Python将Excel工作表转换为PDF:从入门到实战
python·pdf·excel
青衫码上行41 分钟前
【Java Web学习 | 第14篇】JavaScript(8) -正则表达式
java·前端·javascript·学习·正则表达式
不会c嘎嘎1 小时前
C++ -- list
开发语言·c++