Gson - Liên kết dữ liệu

Data Binding API được sử dụng để chuyển đổi JSON đến và từ POJO (Đối tượng Java cũ thuần túy) bằng cách sử dụng trình truy cập thuộc tính hoặc sử dụng chú thích. Nó có hai loại.

  • Primitives Data Binding - Chuyển đổi JSON sang và từ Java Maps, Lists, Strings, Numbers, Booleans và NULL đối tượng.

  • Objects Data Binding - Chuyển đổi JSON sang và từ bất kỳ loại JAVA nào.

Gson đọc / ghi JSON cho cả hai loại liên kết dữ liệu. Data Binding tương tự như trình phân tích cú pháp JAXB cho XML.

Liên kết dữ liệu ban đầu

Liên kết dữ liệu ban đầu đề cập đến việc ánh xạ các kiểu dữ liệu JSON sang JAVA Core và các bộ sưu tập có sẵn. Gson cung cấp các bộ điều hợp sẵn có khác nhau có thể được sử dụng để tuần tự hóa / giải mã hóa các kiểu dữ liệu nguyên thủy.

Thí dụ

Hãy xem ràng buộc dữ liệu nguyên thủy đang hoạt động. Ở đây, chúng tôi sẽ ánh xạ trực tiếp các loại cơ bản của JAVA sang JSON và ngược lại.

Tạo một tệp lớp Java có tên GsonTester trong C:\>Gson_WORKSPACE.

File − GsonTester.java

import java.util.Arrays; 
import com.google.gson.Gson;  

public class GsonTester { 
   public static void main(String args[]) { 
   
      Gson gson = new Gson();  
      String name = "Mahesh Kumar"; 
      long rollNo = 1; 
      boolean verified = false; 
      int[] marks = {100,90,85};  
      
      //Serialization 
      System.out.println("{"); 
      System.out.println("name: " + gson.toJson(name) +","); 
      System.out.println("rollNo: " + gson.toJson(rollNo) +","); 
      System.out.println("verified: " + gson.toJson(verified) +","); 
      System.out.println("marks:" + gson.toJson(marks)); 
      System.out.println("}");  
      
      //De-serialization 
      name = gson.fromJson("\"Mahesh Kumar\"", String.class); 
      rollNo = gson.fromJson("1", Long.class); 
      verified = gson.fromJson("false", Boolean.class); 
      marks = gson.fromJson("[100,90,85]", int[].class);  
      
      System.out.println("name: " + name); 
      System.out.println("rollNo: " + rollNo); 
      System.out.println("verified: " +verified); 
      System.out.println("marks:" + Arrays.toString(marks)); 
   } 
}

Xác minh kết quả

Biên dịch các lớp bằng cách sử dụng javac trình biên dịch như sau -

C:\GSON_WORKSPACE>javac GsonTester.java

Bây giờ chạy GsonTester để xem kết quả -

C:\GSON_WORKSPACE>java GsonTester

Xác minh kết quả đầu ra.

{ 
   name: "Mahesh Kumar", 
   rollNo: 1, 
   verified: false, 
   marks:[100,90,85] 
} 

name: Mahesh Kumar 
rollNo: 1 
verified: false 
marks:[100, 90, 85]