默认情况下,布尔值字段的JSON Post请求发送false

默认情况下,布尔值字段的JSON Post请求发送false,第1张

默认情况下,布尔值字段的JSON Post请求发送false

请记住,默认情况下,杰克逊从getter或setter(第一个匹配的)中确定属性名称

为了反序列化类型的对象

POJOUserDetails
,Jackson将寻找三个属性

public void setFirstName(String firstName) {public void setLastName(String lastName) {public void setActive(boolean isActive) {

在JSON中。这些基本上

firstName
lastName
active

您得到以下JSON

{ "firstName": "Test", "lastName": "1", "isActive": 1 }

所以

firstName
lastName
被映射,但是您没有名为的属性
isActive

Jackson依赖于Java Bean的命名约定及其访问器(获取器)和更改器(设置器)。对于像这样的领域

private boolean isActive;

适当的setter / getter名称

public boolean getIsActive() {    return isActive;}public void setIsActive(boolean isActive) {    this.isActive = isActive;}

因此,您有两种可能的解决方案。如上所示更改您的获取/设置者或使用注释您的字段,

@JsonProperty
以便Jackson使用字段名称来确定属性名称

@JsonPropertyprivate boolean isActive;


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5441853.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存