Gson - Veri Bağlama
Veri Bağlama API'si, özellik erişimcisini veya ek açıklamaları kullanarak JSON'u POJO'ya (Düz Eski Java Nesnesi) dönüştürmek için kullanılır. İki çeşittir.
Primitives Data Binding - JSON'u Java Haritaları, Listeler, Dizeler, Sayılar, Booleanlar ve NULL nesnelerine ve bunlardan dönüştürür.
Objects Data Binding - JSON'u herhangi bir JAVA türüne ve türünden dönüştürür.
Gson, her iki veri bağlama türü için JSON okur / yazar. Veri Bağlama, XML için JAXB ayrıştırıcısına benzer.
Temel Veri Bağlama
Temel veriler veri bağlama, JSON'un JAVA Core veri türlerine ve dahili koleksiyonlara eşlenmesini ifade eder. Gson, ilkel veri türlerini serileştirmek / seriyi kaldırmak için kullanılabilen çeşitli dahili bağdaştırıcılar sağlar.
Misal
İlkel veri bağlamayı çalışırken görelim. Burada JAVA temel türlerini doğrudan JSON ile eşleyeceğiz ve bunun tersini de yapacağız.
Adlı bir Java sınıf dosyası oluşturun GsonTester içinde 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));
}
}
Sonucu doğrulayın
Kullanarak sınıfları derleyin javac aşağıdaki gibi derleyici -
C:\GSON_WORKSPACE>javac GsonTester.java
Şimdi çalıştırın GsonTester sonucu görmek için -
C:\GSON_WORKSPACE>java GsonTester
Çıkışı doğrulayın.
{
name: "Mahesh Kumar",
rollNo: 1,
verified: false,
marks:[100,90,85]
}
name: Mahesh Kumar
rollNo: 1
verified: false
marks:[100, 90, 85]