我的JsonArray看起来像这样:
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),因为我需要使用的api只接受JsArray。
我需要转换为特定的JsArray而不是任何JsonObject,并且无法承担序列化数据的开销。
上述数据的等效JsArray的结构是什么,结构为key:value?
答案 0 :(得分:1)
根据您的评论编辑回答:
在查看你提到的package的Javadoc后,可以试试这个:
JsArrayMixed jsArray = new JsArrayMixed();
for (int i = 0; i < jsonArray.length(); ++i){
jsArray.push(jsonArray.get(i));
}
请记住,您需要在jsonArray
至JavaScriptObject
中解析对象。
答案 1 :(得分: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 ;
感谢您的帮助。