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