저지와 함께 REST-Webservice를 설정하려고합니다. 현재 JSON에서 String 또는 다른 Value 유형의 올바른 표현에 대해 다소 혼란스러워합니다.저지로 문자열의 JSON 표현을 반환
{"name":"reini","role":"admin"}
내 두 번째 방법은 다음과 같습니다 : 그런 "좋은"JSON 문자열을 표시하는 브라우저에서이 메소드를 호출
@GET
@Path("user")
@Produces(MediaType.APPLICATION_JSON)
public User user() {
return new User("reini", "admin");
}
: 다음은 두 조각입니다
@GET
@Path("hello/{name}")
@Produces(MediaType.APPLICATION_JSON)
public String hello(@PathParam("name") String name) {
return "Hello " + name + ", it is " + new Date();
}
Browsing에서 해당 메서드를 호출하면 JSON-Stuff (중괄호 등)가없는 순수한 문자열이 표시됩니다.
Hello firefox, it is Tue Sep 18 13:52:57 CEST 2012
이 서비스는 dojo 툴킷으로 사용하고 싶습니다. 문제는, 내가 [handleAs : "json"] 플래그를 설정하자마자 두 번째 메소드를 얻는 것입니다. 그것은 나를 "SyntaxError : 예기치 않은 토큰 H"오류가 발생합니다. 여기서 "H"는 반환 된 문자열의 첫 번째 문자입니다.
So : String과 다른 값 유형의 올바른 json 표현은 무엇이며이를 생성하기위한 내 메소드에 대해 설정해야하는 주석은 무엇입니까?
입니다 :
그냥 일반 텍스트 (MediaType.TEXT_PLAIN)로 복귀? – Reini
각 유형별 DTO는 – SiMet
입니다. "JSON은 {"로 시작합니다. - 올바르지 않습니다. http://json.org에 따르면 따옴표 붙은 문자열 리터럴 (string literal)도 유효한 JSON이며 jersey는 문자열을 JSON 문자열로 올바르게 직렬화해야합니다. – ddumont