是否可以從較新的 EJB JSON 庫轉(zhuǎn)換為較舊的 org.json 庫,而不必依賴 org.json.simple 或 GSON?在下面的例子中,“按鈕”是一個(gè)填充的 JsonArray,我試圖將它復(fù)制到一個(gè) JSONArray 中以用于遺留代碼。但是從字符串化值初始化 JSONArray 總是失敗并顯示“A JSONObject text must be begin with '{'”,因?yàn)橐柋灰暈榈谝粋€(gè)字符而不是大括號。 JSONArray newButtons = new JSONArray(); for (int i = 0; i < buttons.size(); i++) { JsonString button = buttons.getJsonString(i); newButtons.put(new JSONArray(button.toString())); } return new JSONArray(newButtons);似乎沒有任何類型的 org.json 對象可以從帶有 javax.json 庫中的 toString() 值的字符串構(gòu)造函數(shù)初始化。我已經(jīng)設(shè)法將數(shù)據(jù)從 org.json 結(jié)構(gòu)移動到 javax.json 結(jié)構(gòu),但反之亦然。org.json 庫是否太不靈活而無法執(zhí)行此操作?
1 回答

交互式愛情
TA貢獻(xiàn)1712條經(jīng)驗(yàn) 獲得超3個(gè)贊
我沒有嘗試過,但我相信以下應(yīng)該有效。
JSONArray newButtons = new JSONArray();
for (int i = 0; i < buttons.size(); i++) {
JsonObject button = buttons.getJsonObject(i);
newButtons.put(new org.json.JSONObject(button.toString()));
}
return newButtons;
使用以下行,您首先獲得索引為“i”的對象,然后從中創(chuàng)建一個(gè) JSON 字符串。您的原始代碼寧愿將元素“i”作為值而不是對象返回。
JsonString button = buttons.getJsonObject(i).toString();
添加回答
舉報(bào)
0/150
提交
取消