使用Gson将JSON反序列化为java记录

n3ipq98p  于 2022-11-23  发布在  Java
关注(0)|答案(1)|浏览(214)

下面是我的代码示例

public record Person(String firstName, String lastName) {}

  @Test
  void test() {
    String json =
        """
            {
                "firstName": "John",
                "lastName": "Doe"
            }
        """;

    Person person = new Gson().fromJson(json, Person.class);

    assertEquals("John", person.firstName);
  }

下面是我遇到的一个例外:

java.lang.AssertionError: AssertionError (GSON 2.8.9): java.lang.IllegalAccessException: Can not set final java.lang.String field com.test.GsonTest$Person.firstName to java.lang.String

有没有办法使用Gson将JSON反序列化为java记录?

brtdzjyr

brtdzjyr1#

Gson 2.10支持Java 16+记录:https://github.com/google/gson/releases
如果无法升级,先前链接的https://github.com/google/gson/issues/1794在线程中有许多解决方法。

相关问题