JavaでGsonを使用してカスタムJSON逆シリアル化を実装するにはどうすればよいですか?
以下の例では、カスタム逆シリアル化の実装 JSONの。
import java.lang.reflect.Type; import com.google.gson.*; public class CustomJSONDeSerializerTest { public static void main(String[] args) { Gson gson = new GsonBuilder().registerTypeAdapter(Password.class, new PasswordDeserializer()).setPrettyPrinting().create(); String jsonStr = "{" + "\"firstName\": \"Adithya\"," + "\"lastName\": \"Sai\"," + "\"age\": 25," + "\"address\": \"Pune\"," + "\"password\": \"admin@123\"" + "}"; Student student = gson.fromJson(jsonStr, Student.class); System.out.println(student.getPassword().getPassword()); } } class PasswordDeserializer implements JsonDeserializer { @Override public Password deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException { String ecryptedPwd = json.getAsString(); return new Password(new StringBuffer(ecryptedPwd).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; } }
出力
admin@123
-
JavaのGsonライブラリを使用してJSON文字列をファイルに書き込む方法は?
Gsonは、JavaオブジェクトをJSON表現に変換するために使用できるライブラリです。 。使用する主なクラスはGson new Gson()を呼び出すことで作成できます およびGsonBuilder クラスを使用してGsonインスタンスを作成できます。 JSON文字列をファイルに書き込む toJson()を使用する Gsonの方法 以下の例のクラス 例 import java.io.*; import com.google.gson.*; public class JSONToFileTest { public static void main(String[
-
JavaでJToggleButtonを実装するにはどうすればよいですか?
JToggleButton JToggleButton AbstractButtonの拡張です また、オンに切り替えることができるボタンを表すために使用できます。 およびオフ 。 JToggleButtonの場合 を初めて押すと、押したままになり、2回押すと離すことができます。 JToggleButton ActionEventを生成します 押すたびに。 JToggleButton ItemEventを生成することもできます 、このイベントは、選択の概念をサポートするコンポーネントによって使用されます。 JToggleButtonの場合 を押すと選択されます。