我有一个jsonarray,它从我设置的wcf返回,看起来像这样
["{\r\n \"globalID\": \"104\",\r\n \"localID\": \"1\"\r\n}","{\r\n \"globalID\": \"105\",\r\n \"localID\": \"2\"\r\n}","{\r\n \"globalID\": \"106\",\r\n \"localID\": \"3\"\r\n}","{\r\n \"globalID\": \"107\",\r\n \"localID\": \"4\"\r\n}","{\r\n \"globalID\": \"108\",\r\n \"localID\": \"5\"\r\n}","{\r\n \"globalID\": \"109\",\r\n \"localID\": \"6\"\r\n}"]
我遇到的问题是,当我尝试在循环中使用jsonarray.optJsonObject(i)时,我得到一个空的JSONObject。我知道这与额外的回报有关,但我很难弄清楚如何格式化所有内容。
答案 0 :(得分:0)
我想出来了。而不是使用jsonarray.optjsonobject(i)我能够使用jsonarray.optString(i)拉出一个干净的字符串然后我可以变成这样的json对象:
if(resultJArray!=null && resultJArray.length()>0){
for(int i = 0; resultJArray.length()>i; i++){
JSONObject resultJO = new JSONObject(resultJArray.optString(i));
}