0

我正在使用 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 属性名称吗?

您的回答将不胜感激。

4

2 回答 2

1

是的,“数字字符串”是完全合法的 JSON 名称,杰克逊支持它们。所以问题不应该出在那个问题上,而应该是请求处理中的其他问题。

于 2013-08-05T23:31:58.390 回答
0

请尝试在发送请求时设置内容类型。内容类型应设置为“application/json”。

于 2013-08-08T11:08:44.573 回答