是否可以從較新的 EJB JSON 庫(kù)轉(zhuǎn)換為較舊的 org.json 庫(kù),而不必依賴 org.json.simple 或 GSON?在下面的例子中,“按鈕”是一個(gè)填充的 JsonArray,我試圖將它復(fù)制到一個(gè) JSONArray 中以用于遺留代碼。但是從字符串化值初始化 JSONArray 總是失敗并顯示“A JSONObject text must be begin with '{'”,因?yàn)橐?hào)被視為第一個(gè)字符而不是大括號(hào)。 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 對(duì)象可以從帶有 javax.json 庫(kù)中的 toString() 值的字符串構(gòu)造函數(shù)初始化。我已經(jīng)設(shè)法將數(shù)據(jù)從 org.json 結(jié)構(gòu)移動(dòng)到 javax.json 結(jié)構(gòu),但反之亦然。org.json 庫(kù)是否太不靈活而無法執(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”的對(duì)象,然后從中創(chuàng)建一個(gè) JSON 字符串。您的原始代碼寧愿將元素“i”作為值而不是對(duì)象返回。
JsonString button = buttons.getJsonObject(i).toString();
添加回答
舉報(bào)
0/150
提交
取消