2013-08-02 64 views
0

我使用Spring MVC3.2和Jackson進行JSON映射。我想用序號來序列化和反序列化屬性名稱。這裏是我的課:我可以在Jackson映射器中使用數字作爲屬性名稱嗎?

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錯誤請求錯誤發生,他說:

The request sent by the client was syntactically incorrect. 

我可以使用數字作爲J兒子的財產名稱?

您的回答,將不勝感激。

+0

404錯誤的請求? – chrylis

+0

根據[json validator](http://jsonlint.com/),你的JSON看起來有效,我會在代碼中尋找eleswhere的問題。 – hd1

+0

嘗試使用默認屬性名稱發送JSON。如果一切都會好的,這與數字作爲屬性名稱不成問題。我想,我們可以使用數字作爲屬性名稱。 –

回答

1

是的,「數字字符串」是完全合法的JSON名稱,而傑克遜支持它們。 所以問題不應該與此,但請求處理中的其他問題。

0

請在發送請求時設置內容類型。 內容類型應設置爲「application/json」。

+0

這應該是一條評論。 –

相關問題