2009-03-04 3 views
0

개체를 JSON에서 JavaScript 오버레이 개체로 변환하는 데 문제가 있습니다.자바 스크립트 오버레이를 JSON으로 변환 하시겠습니까?

public class Aff extends JavaScriptObject { 
    protected Aff() {}; 
    public static native Aff fromJSONString(String jsonString) /*-{ 
    return eval('(' + jsonString + ')'); 
    }-*/; 
    public final native String toJSON() /*-{ 
    return this.toString(); 
    }-*/; 
    // followed by get/seters and a bunch of TODO. 
} 

내가 만들고 객체로 작업 할 수 있어요,하지만 obj.toJSON() 반환 [object Object] : 나는 지금 클래스에 다음있다. 매뉴얼을 JSON으로 다시 변환하지 않고도이 문제를 해결할 수없는 것 같습니다.

답변

0

this.toString();

실제로 json 코드를 생성하지 않습니다. 객체의 문자열 표현을 인쇄합니다. json을 작성하려면 사용자 정의 코드가 필요하며, 라이브러리를 사용하는 것이 더 좋습니다.

라이브러리를 사용하는 두 가지 방법 - gwt에 내장 된 json 라이브러리를 사용하십시오. 좋지는 않지만 jsni 코드를 작성할 필요가 없습니다. 또는 하나의 라이브러리 (예 : javascript json library here)의 모듈 xml에 스크립트 리소스를 추가하고이를 jsni에서 사용하십시오. 또는 다른 도서관을 찾으십시오. 문자 그대로 수백 개가 있습니다.

+0

정말 그렇게 피하고 싶습니다. 레거시 시스템에서 매우 복잡한 객체를 남겨두고 수동으로 JSON 변환을 작성하고 싶지 않습니다. 그것은 아무도 대답하지 않으면 계획 이었지만 사람은 성가시다. –

관련 문제