Java对象转换成Json字符串是无法获得对应字段名
Posted 姜小妖
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java对象转换成Json字符串是无法获得对应字段名相关的知识,希望对你有一定的参考价值。
问题:
代码中已经标注
@JSONField(name = "attrs")
private String abc;
public String getA() {
return abc;
}
public void setA(String abc) {
this.abc = abc;
}
在发送消息的时候,会发现消息接受到的Json消息是abc对应的字段是a。
解决方法:
发现这个问题的时候,大概感觉应该是get和set函数名的为题,将其改成getAbc(),setAbc(),再发送消息的时候,会发现abc对应的字段是attrs了。
原因:
请教大牛,查看了框架代码,并没有看的太明白。
猜测大概是因为Java对象转化为Json字符串的时候,可能会有优先级,会先根据get函数之后的名称,也就是本例中的a去匹配成员变量,若没找到,字段名就是a;若找到了,也就是说若是abc,则能找到,就匹配上attrs,字段名就是attrs了。
以上是关于Java对象转换成Json字符串是无法获得对应字段名的主要内容,如果未能解决你的问题,请参考以下文章
java中json对象有没有方法可以把null值转换成空字符串
java中json对象有没有方法可以把null值转换成空字符串