有一個字符串,需要轉爲List
//將字符串轉爲JSONObject或JSONArray
JSONObject jo = JSONObject.fromObject(str);
JSONArray ja = jo.getJSONArray(str);
思路是將jsonstr先轉爲JSONObject或JSONArray ,然後遍歷組裝成List。
但是轉換之後,發現生成的JSONObject 中,會出現一個key對應一個數組的情況,懷疑是jsonstr中,存在重複的key值。於是將字符串複製到json工具中格式化,轉換出來發現沒有問題。
換成org.json.JSONObject 進行處理也會出現問題,報“Duplicate key”異常。
兩個工具都出現重複key值的問題,於是再次對jsonstr進行排查,發現確實是有重複的key值,但是用json工具格式化之後就沒有了。坑爹
最後,對重複的key值進行了處理,在遍歷JSONArray的時候,發現是數組則取第二個元素。
if(value.startsWith("[")){
value = JSONArray.fromObject(value).getString(1);
}
然後再將值放入map中。