2012-06-16 4 views
3

json으로 ....잭슨 JSON, 나는 다음과 같은 클래스가

@XmlType 
@XmlRootElement(name = "milestones") 
@XmlAccessorType(XmlAccessType.FIELD) 
public static class Circle { 
    public String type = "circle"; 
    public double cx; 
    public double cy; 
    public int r; 
    public String title; 
    public Integer width; 
} 

내가

(실제로 잭슨을 사용 RESTEasy가와 JaxRS 사용) 원의 목록을 반환하고 포맷 도움

나는 출력 외모,하지만 생산에이

같은 방법입니다

[{"type":"circle","cx":100.0,"cy":100.0,"r":0,"title":"test1","width":2}, 
{"type":"circle","cx":150.0,"cy":150.0,"r":0,"title":"test2","width":0}] 

처럼 내 dev에 컴퓨터에 JSON 출력이되고 싶어

[{"milestones":{"type":"circle","cx":100,"cy":100,"r":0,"title":"test1","width":2}}, 
{"milestones":{"type":"circle","cx":150,"cy":150,"r":0,"title":"test2","width":0}}] 

강제로 첫 번째 출력 형식 (이름없이 나열)을 사용할 수 있습니까? 당신의 도움에 대한

감사, 같은 코드베이스와 메이슨

답변

0

의 출력이 두 컴퓨터에 다른 것을 희박.

이 동작은 ObjectMapper의 WRAP_ROOT_VALUE 기능으로 인해 발생합니다. 따라서 아래 코드를 사용하여 명시 적으로 해제하는 것이 좋습니다 (코드의 어딘가에 명시 적으로 켜져 있는지 확인할 수도 있습니다. 기본적으로이 기능은

mapper.configure(SerializationConfig.Feature.WRAP_ROOT_VALUE, false); 

당신이 RESTEasy가를 사용하고 있기 때문에, 당신은 기본 ObjectMapper에 대한 액세스 권한을 얻기 위해 RestEasyJacksonProvider을 확장해야합니다)을 사용할 수 없습니다.

+0

대단히 감사합니다. 앞서 JSON을 수동으로 문자열로 만들었지 만 앞으로는 다른 사람이나 나를 도울 것입니다. – user1461057

관련 문제