有時候我們再操作數據的時候,很多數據是jsonarry 格式的
如:
[{"name":"測試數據","id":1},{"name":"測試數據2","id":2}]
這樣的格式很類型表格數據類型。但是我們要取id 為1的name 這樣我們就要先變量以便了。如果需要多次操作這樣的類型,顯得很麻煩。
這里的數據我們可以看出id 是唯一的。那么我們可以想辦法將其轉為jsonobject 這樣我們就很方便 根據指定id 獲取 name 了。
public static JSONObject toJSONObject(JSONArray jsonArray, String key) { JSONObject jsonObject = new JSONObject(); for (int i = 0; i < jsonArray.size(); i++) { JSONObject temp = jsonArray.getJSONObject(i); String[] keyValues = StringUtil.StringToArray(key); if (keyValues != null) { for (String item : keyValues) { String[] k = item.split(":"); String[] keys = k[0].split("_"); String keyName = k[0]; if (keys.length == 2) { keyName = keys[0]; } String jsonKeyName = temp.getString(keyName); if (keys.length == 2) { jsonKeyName += "_" + keys[1]; } jsonObject.put(jsonKeyName, temp.getString(k[1])); } } } return jsonObject; }
這個方法就可以簡單的實現,但是可能不是最好的實現方法。歡迎對其提出寶貴的建議。
這里列出各個案例
案例1:
原數據:[{"name":"測試數據","id":1},{"name":"測試數據2","id":2}]調用方法:toJSONObject(jsonArray, "id:name")結果:{"1":"測試數據","2":"測試數據2"}
案例2:(這僅是我們自己業務需要添加上的)
原數據:[{"name":"測試數據","id":1},{"name":"測試數據2","id":2}]調用方法:toJSONObject(jsonArray, "id_test:name")結果:{"1_test":"測試數據","2_test":"測試數據2"}
案例三:
原數據:[{"no":100,"name":"測試數據","id":1,"desc":"測試描述"},{"no":101,"name":"測試數據2","id":2,"desc":"測試描述2"}]調用方法:toJSONObject(jsonArray, "id:name,no:desc")結果:{"1":"測試數據","100":"測試描述","2":"測試數據2","101":"測試描述2"}
以上這篇java 將jsonarray 轉化為對應鍵值的jsonobject方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持VeVb武林網。
新聞熱點
疑難解答
圖片精選