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值转换成空字符串

查询Mysql表之后将结果转换为json时如何能够保持字段的原有数据类型?

怎么把一个对象转换成json对象

可否将Javascript对象转换成对应的java对象

json转换成对象