2008-11-03 4 views
8

GWT에서 JavaScriptObject 오버레이 유형을 JSON 문자열로 변환하는 가장 좋은 방법은 무엇입니까?JSON으로 변환하는 GWT 오버레이 유형

나는 현재 잘 작동하는 것 같다

public final String toJSON() {  
    return new JSONObject(this).toString(); 
} 

있습니다. 더 나은 접근 방법이 있는지 알고 싶습니다.

+0

다른 라이브러리를 사용하는 것 외에도 가장 좋은 방법입니다. GWT 모듈에 을 추가해야합니다. –

답변

4

나는 그것을 실제로 시도한 적이 없다. (지금까지는 JSON 만 소비했고, 제작할 필요가 없었다.) 이 기본 브라우저/자바 스크립트 기능을 것 같다. 그들은 본질적으로 동일한 자바 스크립트 출력에 똑같은 가능성 결과를 할

public native String toJSON() /*-{ 
    return this.toString(); 
}-*/; 

:

당신 로 작성할 수 있습니다. 최적화 컴파일러는 정말 놀랍습니다.

+3

이 방법이 효과가 있습니까? 나는 이것을 정확히 오버레이 타입으로 구현했으며 [object Object]를 반환합니다. 감사합니다. 감사합니다. – Eugen

+0

@Eugen - Nick의 의견을보세요. 그는 언급하면서 대부분의 최신 브라우저는 JSON.stringify()를 지원합니다. 그렇지 않은 브라우저를 지원해야하는 경우 [JSON 3]과 같은 폴리필을 사용하십시오 (http://bestiejs.github.io/json3/). – Barrie

2

우리는 그런 JSNI 방법이 있지만 (브라우저가 기본적으로 하나를 제공하지 않는 경우) 더글러스 crockfords JSON 라이브러리를 사용 :

https://github.com/douglascrockford/JSON-js

public native String stringify() /*-{ 
    return JSON.stringify(); 
}-*/; 

가 뭐죠 좋은 캐릭터 라인 화 걸릴 수 있다는 것입니다 지정된 들여 쓰기로 출력물을 예쁜 것처럼 인쇄하기위한 매개 변수 ... 다른 것들 중에서

관련 문제