java字符串转json传输,关于java:后端如何将数据转化为json字符串传输

前言

在写后端的c层返回字段断言的时候,进行对于user对象的isAdmin字段断言。相干实体类字段如下

/**

* 是否是超级管理员

*/

private Boolean isAdmin = false;

public Boolean getAdmin() {

return isAdmin;

}

public void setAdmin(Boolean admin) {

isAdmin = admin;

}

当我断言时,我断言isAdmin字段存在

【腾讯云】云产品限时秒杀,爆款1核2G云服务器,首年99元

然而他报错说不存在$.isAdmin。

后端变json字符串原理

解决办法是打印一下相干数据,看见返回值为“admin”: true,咱们将isAdmin改成admin,运行通过。然而为什么是admin而不是isAdmin呢?在我过来的认知里,json字符串的键值始终跟对象的属性名称雷同,然而这里却呈现了不一样。看来我的了解错了。

询问老师后得悉,对象转变成json字符串的键值是依据属性对应的get办法生成的。

比方咱们在这里的isAdmin对应的get办法

public Boolean getAdmin() {

return isAdmin;

}

具体变动为失去相应的get办法的办法名,像下面的就是getAdmin。而后去掉get,再将首字母变为小写。这就是为什么是键值是admin而不是isAdmin了。

咱们将get办法名改为getIsAdmin,此时咱们就应该断言isAdmin字段存在了。

实体类的get、set办法

为什么isAdmin字段要写成getAdmin办法名而不是getIsAdmin办法名。

当咱们写实体类时,IDEA能够帮忙咱们主动生成getter/setter办法。

鼠标右键->Generate->Getter and Setter,而后选取想要生成的对应属性即可。

咱们发现一个问题,咱们写一个Boolean类型的admin属性与Boolean类型的isAdmin属性生成的是雷同办法名称的getter/setter办法。也就是

getAdmin办法名。

究其原因。看网上有说阿里是禁止Boolean类型的字段已is打头的,也有人说不举荐这种写法。具体能够看这篇文章:阿里标准:为什么boolean类型变量命名禁用is结尾

总结

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值