gpt4 book ai didi

java - @JsonbTypeDeserializer 和 @JsonbTypeSerializer 在字段中不起作用

转载 作者:行者123 更新时间:2023-12-01 17:02:22 26 4
gpt4 key购买 nike

我正在进行将 Jackson 换成 Jsob-B 的 Activity ,但在使用 @JsonbTypeDeserializer 时遇到问题>@JsonbTypeSerializer 如下所述。

我有一个这样的实体:

 public class User implements Serializable {

private static final long serialVersionUID = 1L;

private String login;

@JsonbTypeDeserializer(Decrypting.class)
@JsonbTypeSerializer(Encrypting.class)
private String password;

// getters and setter
}

还有一个这样的测试:

  @Test
public void whenDeserializingUsingJsonbTypeDeserializer() throws IOException {

String json = "{\"login\":\"admin\", \"password\":\"yfv_ntl3_Nbrv0139tDwRQ\"}";

Jsonb jsonb = JsonbBuilder.create();

User user = jsonb.fromJson(json, User.class);

Assert.assertEquals(user.getPassword(), "test-string");
}

运行测试时,Decryption 类尝试反序列化 login 字段,但是,如您所见,只有 password 字段具有注释。

有办法解决吗?

最佳答案

更新新版本后,我遇到了 JsonbConfigProperties.FAIL_ON_UNKNOWN_PROPERTIES 问题,我切换为 YassonConfig.FAIL_ON_UNKNOWN_PROPERTIES,现在一切正常。

<dependency>
<groupId>jakarta.json.bind</groupId>
<artifactId>jakarta.json.bind-api</artifactId>
<version>1.0.2</version>
</dependency>
<dependency>
<groupId>org.eclipse</groupId>
<artifactId>yasson</artifactId>
<version>1.0.7</version>
</dependency>

关于java - @JsonbTypeDeserializer 和 @JsonbTypeSerializer 在字段中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61496971/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com