2013-08-02 1 views
0

JSON 매핑을 위해 Spring MVC3.2와 Jackson을 사용하고 있습니다. 나는 단지 번호로 속성 이름을 serialize하고 비 직렬화하고 싶다.Jackson 매퍼의 속성 이름으로 number를 사용할 수 있습니까?

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 이름이며 Jackson은이를 지원합니다. 문제는 요청 처리와 관련해서는 안되지만 문제가되어서는 안됩니다.

0

요청을 보낼 때 콘텐츠 유형을 설정해보십시오. 콘텐츠 유형은 "application/json"으로 설정해야합니다.

+0

이것은 주석이어야합니다. –

관련 문제