将JSON名称映射到Java类字段/方法(Jackson Parser)

Fre*_*sen 6 java json jackson playframework

摘要

在使用Jackson解析器时,如何将JSON名称映射到Java类的字段名称(可能略有不同)?

细节

我有传入的JSON文档,我想使用Jackson解析器转换为Java对象.这适用于JSON名称与最终Java对象字段名称匹配的位置(我在Play框架中执行此操作).

但是,传入的JSON文档中的某些JSON名称不适合使用不错的Java字段名称.目前,更改所有现有JSON文档以使用适当的Java命名约定是不可行的.

例如

{
  "goodName": "value",
  "not-so-handy": "value"
}
Run Code Online (Sandbox Code Playgroud)

我不能创建一个字段名称为"not-so-handy"的Java类,因为它不是Java中的合法名称.

如何使用Jackson解析器将传入的JSON名称转换为指定的Java类的字段名称?

小智 5

用途@JsonProperty:

@JsonProperty("goodName")
public String goodName;

@JsonProperty("not-so-handy")
public String notSoHandy;
Run Code Online (Sandbox Code Playgroud)

这将解决问题.