Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

jsonobject转java对象的方法

作者:倾尽尘光暖流年   发布日期:2025-05-31   浏览:62

import org.json.JSONObject;
import com.fasterxml.jackson.databind.ObjectMapper;

// 定义一个Java类,用于映射JSON对象
class Person {
    private String name;
    private int age;

    // Getters and Setters
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    @Override
    public String toString() {
        return "Person{name='" + name + "', age=" + age + "}";
    }
}

public class JsonToJavaExample {
    public static void main(String[] args) {
        try {
            // 创建一个JSON字符串
            String jsonString = "{\"name\":\"John\", \"age\":30}";

            // 将JSON字符串转换为JSONObject
            JSONObject jsonObject = new JSONObject(jsonString);

            // 使用Jackson库将JSONObject转换为Java对象
            ObjectMapper objectMapper = new ObjectMapper();
            Person person = objectMapper.readValue(jsonObject.toString(), Person.class);

            // 输出结果
            System.out.println(person);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

解释说明:

  1. 定义Java类:我们首先定义了一个Person类,包含两个属性nameage,并提供了相应的getter和setter方法。
  2. 创建JSON字符串:在main方法中,我们创建了一个表示人的JSON字符串jsonString
  3. 转换为JSONObject:使用org.json.JSONObject将JSON字符串解析为JSONObject对象。
  4. 使用Jackson库转换为Java对象:通过ObjectMapper类(来自Jackson库),我们将JSONObject转换为Person类的实例。
  5. 输出结果:最后,打印出转换后的Java对象。

请注意,你需要添加Jackson库依赖来运行此代码。如果你使用Maven,可以在pom.xml中添加以下依赖:

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.13.0</version>
</dependency>

上一篇:java list.sort

下一篇:java freemarker

大家都在看

java连接数据库的代码

ubuntu 卸载java

java sort用法

java collections.sort

java file类的方法

java 判断

java时间数据类型

java 时间加一天

java demo

java 截取

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站