脚本宝典收集整理的这篇文章主要介绍了PHP / IOS:为网络服务编码json的最佳方法是什么?,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
数据位于包含字段和记录的表中.用SQL查询创建记录集.记录集中的每条记录都是一行.
PHP $sql = "SELECT userid,task,longtask From tasks WHERE userid = 1 LIMIT 1"; $res = MysqL_query($sql) or die(MysqL_error()); $tasks = array(); while($row = MysqL_fetch_assoc($res)) { $tasks[] = array('row'=>$row); } echo json_encode(array('tasks'=>$tasks)); //
{"tasks":[{"row":{"userid":"1","task":"send email to Bob","longtask":"include attached memo"}}]}
但是,我在阅读IOS时遇到了很多麻烦,这表明Web服务可能有更好的格式.
结构不同于我在教程中找到的用于将json读入IOS的其他资源(其中没有一个使用PHP / MysqL).
任何人都可以告诉我一个更好的方法来构建json或者代码来读取iOS中的这个json以获取用户ID,任务和其他变量.
当我尝试这个时,我得到一个错误,它不能在index:0处的rad行
NSError* error; NSDictionary* JSON = [NSJSONSerialization JSONObjectWithData:responseData //1 options:kNilOptions error:&error]; NSLOG(@"about to PRint json: %@",json); NSMutableArray *getElement = [json objectForKey:@"tasks"]; for (NSDictionary *dict in getElement) { NSArray *array = [dict objectForKey:@"row"]; NSString *str = [array objectAtIndex:0]; }
在此先感谢您的任何建议.
索引0不可用,因为您使用MysqL_fetch_assoc从PHP获取关联数组.
默认情况下,使用MysqL_fetch_array将返回一个包含从零开始的索引和关联键的数组.
$sql = "SELECT userid,longtask From tasks WHERE userid = 1 LIMIT 1"; $res = MysqL_query($sql) or die(MysqL_error()); $tasks = array(); while($row = MysqL_fetch_array($res)) { $tasks[] = array('row'=>$row); } echo json_encode(array('tasks'=>$tasks));
会输出
{"tasks":[{"row":{"0":"1","userid":"1","1":"send email to Bob","2":"include attached memo","longtask":"include attached memo"}}]}
现在,您可以使用键0或userid检索用户标识.
NSString *str = [array objectForKey:@"userid"];`
以上是脚本宝典为你收集整理的PHP / IOS:为网络服务编码json的最佳方法是什么?全部内容,希望文章能够帮你解决PHP / IOS:为网络服务编码json的最佳方法是什么?所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。