【发布时间】:2015-09-05 18:19:10
【问题描述】:
发送的 JSON:
{
"Banner": "ABC"
}
Java 模型:
...
@JsonIgnoreProperties(ignoreUnknown = true)
@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
public class BannerData implements java.io.Serializable {
private static final long serialVersionUID = 5664846645733319592L;
@JsonProperty(value = "Banner")
private String banner;
public String getBanner() {
return banner;
}
public void setBanner(String banner) {
this.banner = banner;
}
}
控制器:
@RequestMapping(value = {"/GetBanner"}, method = RequestMethod.POST)
@ResponseBody
public ResponseEntity<String> enrollCustomer(@RequestBody BannerData body, HttpServletRequest request) throws Exception {
...
}
对/GetBanner 的请求返回:
客户端发送的请求在语法上不正确。
工作正常当 json 更改为(小写命名为 Java 字段名称):
{
"banner": "ABC"
}
但是我需要 JSON 中的 大写 字段命名。
看起来@JsonProperty(value = "Banner") 不起作用。
映射是否正确?
【问题讨论】:
-
我确信您没有使用 Jackson。几个 cmets 要求查看您的 Spring 设置,但您尚未发布。
@JsonProperty现在适用于 3 个答案——您必须使用另一个序列化程序
标签: java json jackson deserialization