我刚刚切换到FlexJson,我已经遇到了问题。
http://flexjson.sourceforge.net/上的文档,第Controlling JSON naming with @JSON
章指出:
当一个对象被序列化时,JSON上的属性名称 对象是从Java属性的名称确定的。这意味着 使用getter方法的名称或字段名称。然而, 有时JSON输出与Java使用的名称不匹配 宾语。您可以使用@JSON注释来控制它。例如:
public class Species {
@JSON(jsonName = "genus")
private String type;
private String name;
@JSON(jsonName="species")
public String getName() {
return name;
}
}
除非它不起作用。然后他们说:
定义@JSON.jsonName用于序列化和 反序列化。
现在,当我查看http://flexjson.sourceforge.net/javadoc/index.html处的javadoc时,我可以看到有4个可选元素属于@JSON注释,这些是
包含名称objectFactory转换器
它们都不是jsonName
,就像在示例中一样。
那么我如何让这个注释工作,所以我可以有不同的java和json名称?
如何定义此注释元素或使用预定义的name
为了澄清,我可以注释@JSON
并自动填充建议@JSON(include)
,但无法解析include
...
我正在使用FlexJson 2.1,我导入了flexjson.JSON;
顺便说一下,我知道这个答案https://stackoverflow.com/a/8879616/2001247,但这不是我想要的。我想使用注释。
答案 0 :(得分:5)
您需要使用 FlexJson 3.2
问题是,通过开发者网站访问的最新jar有2.1版本号。 但是java doc对应于3.2版本 您可以在maven存储库中找到FlexJson 3.2 jar。