ホームページ >Java >&#&チュートリアル >Java オブジェクトを JSON に変換する方法

Java オブジェクトを JSON に変換する方法

王林
王林転載
2023-05-14 09:37:053503ブラウズ

このコード スニペットでは、次の操作を実行します。

  • Student オブジェクトを作成し、setter メソッドを使用してそのプロパティを設定します。

  • #JSONObject の作成 object を呼び出し、Student オブジェクトをコンストラクターへのパラメーターとして使用します。

  • #JSONObjectゲッター メソッドを使用して JSON 文字列を生成します。

  • object.toString() メソッドを呼び出して、JSON 文字列を取得します。

  •  import com.fasterxml.jackson.core.JsonProcessingException;
    import com.fasterxml.jackson.databind.ObjectMapper;
    import com.google.gson.Gson;
    import org.json.JSONObject;
     
    import java.util.Arrays;
     
    public class PojoToJSON {
     
        public static void main(String[] args) throws JsonProcessingException {
            Student student = new Student();
            student.setId(1L);
            student.setName("Alice");
            student.setAge(20);
            student.setCourses(Arrays.asList("Engineering", "Finance", "Chemistry"));
     
            JSONObject object = new JSONObject(student);
            String json = object.toString();
            System.out.println(json);
            System.out.println(new Gson().toJson(student));
            // Creating Object of ObjectMapper define in Jackson API
            ObjectMapper Obj = new ObjectMapper();
     
            // Converting the Java object into a JSON string
            String jsonStr = Obj.writeValueAsString(student);
            // Displaying Java object into a JSON string
            System.out.println(jsonStr);
     
        }
    }

このコードを実行すると、次の結果が生成されます:

##{"courses":["Engineering","Finance", "化学"],"name":"アリス","id":1,"年齢":20}
{"id":1,"name":"アリス","年齢":20," コース":["エンジニアリング","ファイナンス","化学"]}

{"id":1,"name":"アリス","年齢":20,"コース":["エンジニアリング", " Finance","Chemistry"]}

上記のコードで使用される Student クラス:

 import java.util.List;
 
public class Student {
 
    private Long id;
    private String name;
    private int age;
    private List<String> courses;
 
    public Student(Long id, String name, int age, List<String> courses) {
        this.id = id;
        this.name = name;
        this.age = age;
        this.courses = courses;
    }
 
    Student() {
 
    }
 
    public Long getId() {
        return id;
    }
 
    public void setId(Long id) {
        this.id = id;
    }
 
    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;
    }
 
    public List<String> getCourses() {
        return courses;
    }
 
    public void setCourses(List<String> courses) {
        this.courses = courses;
    }
 
}

Maven の依存関係

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.example.javaobjectjson</groupId>
    <artifactId>JavaObjectJSON</artifactId>
    <version>1.0-SNAPSHOT</version>
    <dependencies>
 
        <!-- https://mvnrepository.com/artifact/org.json/json -->
        <dependency>
            <groupId>org.json</groupId>
            <artifactId>json</artifactId>
            <version>20211205</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/com.google.code.gson/gson -->
        <dependency>
            <groupId>com.google.code.gson</groupId>
            <artifactId>gson</artifactId>
            <version>2.9.0</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.12.1</version>
        </dependency>  
    </dependencies>
    </project>

以上がJava オブジェクトを JSON に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。