Java
 Computer >> コンピューター >  >> プログラミング >> Java

JavaでGsonを使用してカスタムJSONシリアル化を実装するにはどうすればよいですか?


Gsonライブラリは、カスタムシリアライザーを GsonBuilder に登録することにより、カスタムシリアライザーを指定する方法を提供します。 JavaオブジェクトをJSONに変換する方法が必要な場合 serialize()をオーバーライドすることで、カスタムシリアライザーを作成できます。 com.google.gson.JsonSerializerのメソッド クラス

以下の例では、カスタムシリアル化の実装 JSONの。

import java.lang.reflect.Type;
import com.google.gson.*;
public class CustomJSONSerializerTest {
   public static void main(String[] args) {
      Gson gson = new GsonBuilder().registerTypeAdapter(Password.class, new PasswordSerializer())
.setPrettyPrinting().create();
      Student student = new Student("Adithya", "Jai", 25, "Chennai");
      student.setPassword(new Password("admin@123"));
      System.out.println(gson.toJson(student));
   }
}
class PasswordSerializer implements JsonSerializer {
   @Override
   public JsonElement serialize(Password src, Type typeOfSrc, JsonSerializationContext context) {
      return new JsonPrimitive(new StringBuffer(src.getPassword()).toString());
   }
}
// Student class
class Student {
   private String firstName;
   private String lastName;
   private int age;
   private String address;
   private Password password;
   public Student(String firstName, String lastName, int age, String address) {
      super();
      this.firstName = firstName;
      this.lastName = lastName;
      this.age = age;
      this.address = address;
   }
   public String getFirstName() {
      return firstName;
  }
   public void setFirstName(String firstName) {
      this.firstName = firstName;
   }
   public String getLastName() {
      return lastName;
   }
   public void setLastName(String lastName) {
      this.lastName = lastName;
   }
   public int getAge() {
      return age;
   }
   public void setAge(int age) {
      this.age = age;
   }
   public String getAddress() {
      return address;
   }
   public void setAddress(String address) {
      this.address = address;
   }
   public Password getPassword() {
      return password;
   }
   public void setPassword(Password password) {
      this.password = password;
   }
   public String toString() {
      return "Student[ " +
               "firstName = " + firstName +
               ", lastName = " + lastName +
               ", age = " + age +
               ", address = " + address +
             " ]";
   }
}
// Password class
class Password {
   private String password;
   public Password(String password) {
      super();
      this.password = password;
   }
   public String getPassword() {
      return password;
   }
   public void setPassword(String password) {
      this.password = password;
   }
}

出力

{
  "firstName": "Adithya",
  "lastName": "Jai",
  "age": 25,
 "address": "Chennai",
 "password": "admin@123"
}

  1. JavaでJToggleButtonを実装するにはどうすればよいですか?

    JToggleButton JToggleButton AbstractButtonの拡張です また、オンに切り替えることができるボタンを表すために使用できます。 およびオフ 。 JToggleButtonの場合 を初めて押すと、押したままになり、2回押すと離すことができます。 JToggleButton ActionEventを生成します 押すたびに。 JToggleButton ItemEventを生成することもできます 、このイベントは、選択の概念をサポートするコンポーネントによって使用されます。 JToggleButtonの場合 を押すと選択されます。

  2. JavaでJSONを解析する方法

    このチュートリアルでは、さまざまなライブラリを使用してJavaでJSONを解析する方法を見ていきます。 JSONはJavaScriptObjectNotationの略で、JavaScriptのサブセットに基づいています。 データ交換フォーマットとして、Webプログラミングで広く使用されています。ここでは、org.jsonを使用してJavaでJSONを解析する方法を示します。 ライブラリ。 JSONオブジェクトは、順序付けされていないキーと値のペアのセットです。 JSON配列は、順序付けられた値のコレクションです。値自体はオブジェクトまたは配列である可能性があります。 pageNameの