栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

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

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

默认情况下,布尔值字段的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;


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/466358.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号