是否可以從較新的 EJB JSON 庫轉換為較舊的 org.json 庫,而不必依賴 org.json.simple 或 GSON?在下面的例子中,“按鈕”是一個填充的 JsonArray,我試圖將它復制到一個 JSONArray 中以用于遺留代碼。但是從字符串化值初始化 JSONArray 總是失敗并顯示“A JSONObject text must be begin with '{'”,因為引號被視為第一個字符而不是大括號。 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() 值的字符串構造函數初始化。我已經設法將數據從 org.json 結構移動到 javax.json 結構,但反之亦然。org.json 庫是否太不靈活而無法執行此操作?
1 回答

交互式愛情
TA貢獻1712條經驗 獲得超3個贊
我沒有嘗試過,但我相信以下應該有效。
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”的對象,然后從中創建一個 JSON 字符串。您的原始代碼寧愿將元素“i”作為值而不是對象返回。
JsonString button = buttons.getJsonObject(i).toString();
添加回答
舉報
0/150
提交
取消