0

我有一个从我设置的 wcf 返回的 jsonarray,看起来像这样

["{\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。我知道这与额外的回报有关,但我很难弄清楚如何格式化所有内容。

4

1 回答 1

0

我想通了。我可以使用 jsonarray.optString(i) 而不是使用 jsonarray.optjsonobject(i) 来提取一个干净的字符串,然后我可以将其变成这样的 json 对象:

if(resultJArray!=null && resultJArray.length()>0){

    for(int i = 0; resultJArray.length()>i; i++){

      JSONObject resultJO = new JSONObject(resultJArray.optString(i));

    }
于 2013-11-06T01:31:26.517 回答