Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

แปลง List ของอ็อบเจกต์เป็น JSON ด้วย Gson ใน Java

Gson เป็นไลบรารีแปลง Java Objects เป็น JSON และในทางกลับกัน คลาสหลักคือ Gson ซึ่งสร้างได้จาก new Gson() หรือใช้ GsonBuilder เพื่อกำหนดค่าเพิ่มเติม เช่น การจัดรูปแบบสวยงาม

ตัวอย่าง: แปลง List ของอ็อบเจกต์ Person เป็น JSON

import java.util.*;
import java.util.stream.*;
import com.google.gson.*;

public class JSONConverterTest {
    public static void main(String[] args) {
        Gson gson = new GsonBuilder().setPrettyPrinting().create();
        
        List<Person> list = Stream.of(
            new Person("Raja", "Ramesh", 30, "9959984800"),
            new Person("Jai", "Dev", 25, "7702144400"),
            new Person("Adithya", "Sai", 21, "7013536200"),
            new Person("Chaitanya", "Sai", 28, "9656444150")
        ).collect(Collectors.toList());
        
        System.out.println("Convert list of person objects to Json:");
        String json = gson.toJson(list);
        System.out.println(json);
    }
}

class Person {
    private String firstName, lastName, contact;
    private int age;
    
    public Person(String firstName, String lastName, int age, String contact) {
        this.firstName = firstName;
        this.lastName = lastName;
        this.age = age;
        this.contact = contact;
    }
    
    @Override
    public String toString() {
        return "[" + firstName + " " + lastName + " " + age + " " + contact + "]";
    }
}

ผลลัพธ์

Convert list of person objects to Json: 
[
  {
    "firstName": "Raja",
    "lastName": "Ramesh",
    "contact": "9959984800",
    "age": 30
  },
  {
    "firstName": "Jai",
    "lastName": "Dev",
    "contact": "7702144400",
    "age": 25
  },
  {
    "firstName": "Adithya",
    "lastName": "Sai",
    "contact": "7013536200",
    "age": 21
  },
  {
    "firstName": "Chaitanya",
    "lastName": "Sai",
    "contact": "9656444150",
    "age": 28
  }
]

เคล็ดลับ: ใช้ GsonBuilder().setPrettyPrinting() เพื่อให้ JSON อ่านง่ายขึ้น