2

GWT クライアント側での JSON 解析に JSO を使用しました。ここで、Java オブジェクトを JSON 文字列に変換する必要があります。どうすればこれを達成できるのでしょうか?JSO オーバーレイ タイプは、JSON 解析に使用されました。また、JSON 要求文字列を作成するために使用できますか、それとも他の手段を使用する必要がありますか?

4

1 に答える 1

2

JavaScript で JSON オブジェクトを生成するのは非常に簡単です。次のように実行できます。

var obj = { "var1": "hello", "var2": "world" };

これにより、2 つの変数 (「var1」と「var2」) とその値 (「hello」、「world」) を持つ JSON オブジェクトが生成されます。Object は、メソッドを使用して (送信目的で) String に変換できますJSON.stringify(jso);

すべての変数が単一の文字列に最適化されているため、Java コードから JSON データを生成することはできません (有用な結果ではありません)。このメソッドを適用しても有用な結果は得られません (可能であれば)。

すでに JSO オブジェクトがある場合 (safeeval などで生成)。次のように、そこで変数を編集できます。

public final native void newValue(String newValue) /*-{
    this.ValueName = newValue;
}-*/;

オブジェクトを文字列として使用する場合は、JSO クラスで次のメソッドを定義する必要があります。

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

または、Java クラスでこれを使用します: String s = (new JSONObject(jso)).toString();.

このようにして、元の入力データを編集し、元のオブジェクトをサーバーに送り返すことができます。

ブラジル

于 2012-06-01T08:44:53.143 に答える