【发布时间】:2013-08-02 01:28:03
【问题描述】:
我正在使用 Spring MVC3.2 和 Jackson 进行 JSON 映射。我想用数字序列化和反序列化属性名称。这是我的课:
public Usage implement Serializable {
private String imei;
@JsonIgnore
@JsonProperty("4")
private long j2j;
@JsonIgnore
@JsonProperty("8")
private long call;
//Getters and setters
}
JSON:
{"imei":"352985052917115", "4":20, "8":10}
控制器:
@ResponseBody
@RequestMapping(value="/alert")
public JsonResult<Void> handleOverUsageAlertByDevice(@RequestBody Usage usage){
//Do something
}
但是当我将 JSON 发送到控制器时,会发生 404 Bad request 错误,说:
The request sent by the client was syntactically incorrect.
我可以使用数字作为 Json 属性名称吗?
您的回答将不胜感激。
【问题讨论】:
-
您的 JSON 看起来有效,根据 json validator,我会在您的代码中的其他地方寻找问题。
-
尝试使用默认属性名称发送 JSON。如果一切正常,这不是将数字作为属性名称的问题。我认为,我们可以使用数字作为属性名称。