0

我尝试从服务器下载 JSON 字符串,但它看起来不应该这样。抱歉这种格式,第一次使用stackoverflow ..

正如您在接收到的字符串和来自 php 的 var_dump 的比较中看到的那样,键的 fromarr[LISTING][<this ones>]被删除了..所以我进一步的 JSON 解码确实将条目arr[LISTING][<this one>]视为一个值,而不是另一个数组子维度

有任何想法吗?

我尝试了什么:

NSData *serverRes = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
NSString *serverRes_str=[[NSString alloc]initWithData:serverRes encoding:NSUTF8StringEncoding];
NSLog(@"%@",serverRes_str);

这看起来像什么:

{"STATUS":{"RESULT":"OK","CODE":205,"INFO":"GET_PROJECTS","AUTHENTICATED":1,"USERID":1,"ACCESS":1000,"SYSTEM_NAME":"Testdatei","SSL":false,"IDENTIFIER":""},"CONTENT":{"GET_PROJECTS":{"COUNT":7,"LISTING":[{"ID":"1","NAME":"Devel","CREATION_DATE":"1357116685","CREATED_BY":"admin","TYPE":"PROJECT","PUBLIC":false,"PRIVAT":false,"ACCESS":3,"THUMBNAIL":""},{"ID":"30","NAME":"p5","CREATION_DATE":"1365866791","CREATED_BY":"admin","TYPE":"PROJECT","PUBLIC":false,"PRIVAT":false,"ACCESS":3,"THUMBNAIL":""},{"ID":"29","NAME":"p4","CREATION_DATE":"1365866785","CREATED_BY":"admin","TYPE":"PROJECT","PUBLIC":false,"PRIVAT":false,"ACCESS":3,"THUMBNAIL":""},{"ID":"28","NAME":"p3","CREATION_DATE":"1365866780","CREATED_BY":"admin","TYPE":"PROJECT","PUBLIC":false,"PRIVAT":false,"ACCESS":3,"THUMBNAIL":""},{"ID":"27","NAME":"p2","CREATION_DATE":"1365866773","CREATED_BY":"admin","TYPE":"PROJECT","PUBLIC":false,"PRIVAT":false,"ACCESS":3,"THUMBNAIL":""},{"ID":"26","NAME":"p1","CREATION_DATE":"1365866767","CREATED_BY":"admin","TYPE":"PROJECT","PUBLIC":false,"PRIVAT":false,"ACCESS":3,"THUMBNAIL":""},{"ID":"4","NAME":"Testimmortals","CREATION_DATE":"1362388820","CREATED_BY":"admin","TYPE":"PROJECT","PUBLIC":false,"PRIVAT":false,"ACCESS":3,"THUMBNAIL":""}]}}}

它应该是什么样子:

array(2) {
  ["COUNT"]=>
  int(7)
  ["LISTING"]=>
  array(7) {
    [0]=>
    array(9) {
      ["ID"]=>
      string(1) "1"
      ["NAME"]=>
      string(5) "Devel"
      ["CREATION_DATE"]=>
      string(10) "1357116685"
      ["CREATED_BY"]=>
      string(5) "admin"
      ["TYPE"]=>
      string(7) "PROJECT"
      ["PUBLIC"]=>
      bool(false)
      ["PRIVAT"]=>
      bool(false)
      ["ACCESS"]=>
      int(3)
      ["THUMBNAIL"]=>
      string(92) ""
    }
    [1]=>
    array(9) {
      ["ID"]=>
      string(2) "30"
      ["NAME"]=>
      string(2) "p5"
      ["CREATION_DATE"]=>
      string(10) "1365866791"
      ["CREATED_BY"]=>
      string(5) "admin"
      ["TYPE"]=>
      string(7) "PROJECT"
      ["PUBLIC"]=>
      bool(false)
      ["PRIVAT"]=>
      bool(false)
      ["ACCESS"]=>
      int(3)
      ["THUMBNAIL"]=>
      string(93) ""
    }
    [2]=>
    array(9) {
      ["ID"]=>
      string(2) "29"
      ["NAME"]=>
      string(2) "p4"
      ["CREATION_DATE"]=>
      string(10) "1365866785"
      ["CREATED_BY"]=>
      string(5) "admin"
      ["TYPE"]=>
      string(7) "PROJECT"
      ["PUBLIC"]=>
      bool(false)
      ["PRIVAT"]=>
      bool(false)
      ["ACCESS"]=>
      int(3)
      ["THUMBNAIL"]=>
      string(93) ""
    }
    [3]=>
    array(9) {
      ["ID"]=>
      string(2) "28"
      ["NAME"]=>
      string(2) "p3"
      ["CREATION_DATE"]=>
      string(10) "1365866780"
      ["CREATED_BY"]=>
      string(5) "admin"
      ["TYPE"]=>
      string(7) "PROJECT"
      ["PUBLIC"]=>
      bool(false)
      ["PRIVAT"]=>
      bool(false)
      ["ACCESS"]=>
      int(3)
      ["THUMBNAIL"]=>
      string(93) ""
    }
    [4]=>
    array(9) {
      ["ID"]=>
      string(2) "27"
      ["NAME"]=>
      string(2) "p2"
      ["CREATION_DATE"]=>
      string(10) "1365866773"
      ["CREATED_BY"]=>
      string(5) "admin"
      ["TYPE"]=>
      string(7) "PROJECT"
      ["PUBLIC"]=>
      bool(false)
      ["PRIVAT"]=>
      bool(false)
      ["ACCESS"]=>
      int(3)
      ["THUMBNAIL"]=>
      string(93) ""
    }
    [5]=>
    array(9) {
      ["ID"]=>
      string(2) "26"
      ["NAME"]=>
      string(2) "p1"
      ["CREATION_DATE"]=>
      string(10) "1365866767"
      ["CREATED_BY"]=>
      string(5) "admin"
      ["TYPE"]=>
      string(7) "PROJECT"
      ["PUBLIC"]=>
      bool(false)
      ["PRIVAT"]=>
      bool(false)
      ["ACCESS"]=>
      int(3)
      ["THUMBNAIL"]=>
      string(93) ""
    }
    [6]=>
    array(9) {
      ["ID"]=>
      string(1) "4"
      ["NAME"]=>
      string(13) "Testimmortals"
      ["CREATION_DATE"]=>
      string(10) "1362388820"
      ["CREATED_BY"]=>
      string(5) "admin"
      ["TYPE"]=>
      string(7) "PROJECT"
      ["PUBLIC"]=>
      bool(false)
      ["PRIVAT"]=>
      bool(false)
      ["ACCESS"]=>
      int(3)
      ["THUMBNAIL"]=>
      string(92) ""
    }
  }
}
4

1 回答 1

0

你试过 iOS 自带的 JSON 库吗?它有一个非常方便的方法,如下所示:

NSArray *responseValues = [responseString JSONValue];

或者

NSDictionary *responseValues = [responseString JSONValue];
  • 您可以将它作为数组或字典获取,因为JSONValue方法返回 an id,因此您可以适应您收到的任何内容。

您可以在此处找到该库: https ://github.com/stig/json-framework

希望能帮助到你。

于 2013-04-18T19:41:34.247 回答