Как разобрать массивы в массиве PHP-> JSON-> XCODE - PullRequest
1 голос
/ 16 мая 2011

Я пишу простой скрипт php / mysql, который получает все «объявления», которые есть в моей базе данных, и возвращает их в формате JSON. Это прекрасно работает, если я возвращаю только одну строку, десять парсер разделит каждую строку на индекс в массиве. Но теперь у меня есть этот код PHP:

    <?php
   // Database credentials
   $host = 'localhost'; 
   $db = 'project'; 
   $uid = 'root'; 
   $pwd = '';

   $SSN = $_GET['ssn'];

    // Connect to the database server   
    $link = mysql_connect($host, $uid, $pwd) or die("Could not connect");

   //select the json database
   mysql_select_db($db) or die("Could not select database");

   // Create an array to hold our results
   $arr = array();

   //Execute the query
   $rs = mysql_query("SELECT * FROM all_ads WHERE SSN = $SSN ORDER BY datePosted");



   // Add the rows to the array 
   while($obj = mysql_fetch_row($rs)) {
   $arr[] = $obj;
   }

   echo json_encode($arr);

?>

И возвращает следующий формат:

[["4","Hyr ut i natt","321654987","couch_surfing_ads","2011-05-16 13:49:58"],["5","Maybe not","456893214","vacation_resident_ads","2011-05-16 14:22:34"]]

(СОДЕРЖАНИЕ ДВУХ ОТДЕЛЬНЫХ ОБЪЯВЛЕНИЙ)

Когда xcode возвращает этот массив, он помещает все первое объявление в один индекс массива. Как мне также поместить каждый массив в массив, как это делает вывод JSON?

Как мне обрабатывать / десериализовать эти данные - мой основной вопрос!

Спасибо!

1 Ответ

3 голосов
/ 16 мая 2011

Я думаю, что вам просто нужно иметь двухслойную ссылку (последняя строка ниже), если я что-то не так понимаю:

NSString *response = [[NSString alloc] initWithContentsOfURL:yourSourceUrl];
const char *convert = [response UTF8String];
NSString *responseString = [NSString stringWithUTF8String:convert];
NSArray *ads = [responseString JSONValue];
NSLog(@"%@",[[ads objectAtIndex:0] objectAtIndex:1]); //Hyr ut i natt
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...