如何解析数组中的数组 PHP->JSON->XCODE

发布于 2024-11-07 16:09:08 字数 1121 浏览 0 评论 0原文

我正在编写一个简单的 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 输出一样将每个数组放入数组中?

如何处理/反序列化这些数据是我的核心问题!

谢谢!

I'm writing a simple php/mysql script that gets all "ads" I have in my database and returns them in JSON format. This works great if I'm only returning one row, ten the parser will split each string into an index om the array. But now I have this PHP code:

    <?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);

?>

And it returns the following format:

[["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"]]

(CONTAINING TWO SEPARATE ADS)

When xcode gets this array back it puts the entire first ad in one index of the array.
How do I to also put each array in an array like the JSON output does?

How do I process/deserialize this data is my core question!

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

绮烟 2024-11-14 16:09:08

我认为你只需要有一个两层参考(下面最后一行),除非我误解了一些东西:

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

I think you just need to have a two layer reference (last line below) unless I'm misunderstanding something:

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
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文