
Jakarta JSON Binding 3.1 には、特に大きな変更はありません。
以下の2つを見ておけば十分でしょう。
Java Record support
Java Record のサポートが入りました。
public record Dog(String name, int age, boolean bites) { } Dog dog = new Dog("Falco", 4, false); Jsonb jsonb = JsonbBuilder.create(); String result = jsonb.toJson(dog); dog = jsonb.fromJson("{\"name\":\"Falco\",\"age\":4,\"bites\":false}", Dog.class);
プロパティ名を変更する場合は以下のように @JsonbProperty で指定できます。
public record Person(@JsonbProperty("person-name") String name, String profession) { }
public record Person(String name, String profession) { @JsonbProperty("person-name") public String name() { return name; } }
java.util.UUID のデフォルトマッピング追加
旧来は、明示的に仕様に含まれていなかった java.util.UUID がデフォルトマッピング対象に追加されました。
Yasson の実装では旧来(Add default deserializer for UUID)から標準でサポートされていたため、大抵は気にする必要はありません。