2017-06-07 13 views
3

私JsonArrayは、次のようになります。私が使用する必要がAPIのみJsArrayを受け入れ以来:JSONArrayをJsArrayに変換するには?

JSONArray itemsJsonArray = new JSONArray(); 
    JSONObject jsobj = new JSONObject(); 


jsobj.put("a", new JSONString("hi")); 
jsobj.put("b", new JSONString("hgjjh")); 
jsobj.put("c", new JSONNumber(149077)); 


itemsJsonArray.set(0, jsobj); 

は私がJsArray(com.google.gwt.core.clientパッケージ)と同等のデータを必要とします。
私は特定のJsArrayに変換する必要があり、JsonObjectは使用できません。データのシリアル化のオーバーヘッドをとることはできません。

上記のデータに相当するJsArrayの構造は、key:valueとして構造化されます。

+0

[JSON配列をJavascript配列に変換する]の複製が可能です(https://stackoverflow.com/questions/9581623/json-array-convert-to-javascript-array) –

+0

このようなものhttps://stackoverflow.com/questions/5618548/convert-json-array-to-javascript-array –

答えて

0

はあなたのコメントに応じて答えを編集:

packageあなたが言及したのJavadocの中で見た後、多分これを試してみてください。

JsArrayMixed jsArray = new JsArrayMixed(); 
for (int i = 0; i < jsonArray.length(); ++i){ 
    jsArray.push(jsonArray.get(i)); 
} 

はあなたjsonArrayへのあなたのオブジェクトを解析する必要が忘れないでくださいJavaScriptObject

+0

コーディングはJavaで行われ、データをjson文字列にするオーバーヘッドはかかりません。 – JITHIN

+0

@ JITHIN質問を編集しましたが、おそらくこれはあなたに役立ちます。 – Wernerson

+0

私のjsonArrayにはJsonObjectsがあり、プッシュAPIで受け入れていません。 – JITHIN

1

このコードは私にとって役に立ちました。

 JSONArray itemsJsonArray = new JSONArray(); 
     JSONObject jsobj = new JSONObject(); 

     jsobj.put("author", new JSONString("hin")); 
     jsobj.put("text", new JSONString("hgg")); 
     jsobj.put("created", new JSONString("123")); 

     itemsJsonArray.set(0, jsobj); 

     JavaScriptObject msg =itemsJsonArray.getJavaScriptObject(); 
     JsArray<?> ob=(JsArray<?>) msg ; 

ありがとうございました。

関連する問題