2012-05-08 2 views
3

간단한 개체 목록에서 JSON을 생성하려고합니다. 그것은 작동하지만, 내 출력은 클래스 명으로 싸여있다 : 내가하고 싶은 무엇Jersey에서 JSON 출력의 @XmlRootElement를 생략하는 방법은 무엇입니까?

{"classname":[{"name":"John Doe","title":"manager"} .....]} 

내가 내 클래스에 @XmlRootElement 때문에이 이해

[{"name":"John Doe","title":"manager"} .....] 

,하지만 난 생략하는 경우 나는 그것이 올바른 위치에 있는지 경우 100 % 모르겠지만, 내가 참으로 com.sun.jersey.api.json.POJOMappingFeature를 설정 한

A message body writer for Java class java.util.ArrayList, and Java type 
java.util.List<MyClass>, and MIME media type application/json was not found 

: 즉, 다음 오류가 발생합니다. Embedded Jetty를 사용 중이고 ServletHolder에 대한 매개 변수를 설정했습니다.

+0

당신이 클래스의 인스턴스의 이름을 가지고 있지 않은거야? 그것은'classname' 대신에 존재할 것입니다 –

+0

MyClass? 그것은 목록 유형입니다. – wannabeartist

+0

나는 임베디드 Jetty를 포기하고 대신 web.xml로 "regular"Jetty를 시도했다. 그래도 누군가 web.xml없이 임베디드 Jetty를 사용하여이를 설정하는 방법을 알고 있다면 답을 게시하십시오. – wannabeartist

답변

0

gson을 사용하여 배열 문자열을 만들 수 있습니다. 그게 당신에게 원하는 대답을 줄 것입니다. 추가 정보를

Gson gson = new Gson(); 
gson.toJson([{"name":"John Doe","title":"manager"} .....]); 

: http://www.studytrails.com/java/json/java-google-json-java-to-json.jsp

의 javadoc : http://google-gson.googlecode.com/svn/trunk/gson/docs/javadocs/com/google/gson/Gson.html

+0

이렇게하면 java 목록을 Mime 미디어에서 구문 분석 할 수있는 문자열로 변환하는 데 도움이됩니다. application/json – meenal

+1

프로젝트에 더 이상 종속성을 추가하지 않으려는 경우. 배열 다음에 toString()을 추가하십시오. 나는 그것이 또한 작동 할 것 같다. – meenal

관련 문제