Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在iphone中从json数组获取对象?_Iphone_Ios_Json_Iphone Sdk 3.0 - Fatal编程技术网

如何在iphone中从json数组获取对象?

如何在iphone中从json数组获取对象?,iphone,ios,json,iphone-sdk-3.0,Iphone,Ios,Json,Iphone Sdk 3.0,我正在开发一个iPhone应用程序,其中包括使用json框架。我正在使用NSURL获取数组 [{"firstName":"X","lastName":"Y","id":1},{"firstName":"A","lastName":"B","id":2}] 如果查询id=1,O/p为 id=1 firstName:X lastName:Y 把它放在桌子上。 我在谷歌上搜索了很多天的资料,但没有找到任何解决方案。 请帮助我,请通过代码解释 谢谢。如果您的目标SDK是ios4或更高版本,您可以使用

我正在开发一个iPhone应用程序,其中包括使用json框架。我正在使用NSURL获取数组

[{"firstName":"X","lastName":"Y","id":1},{"firstName":"A","lastName":"B","id":2}]
如果查询id=1,O/p为

id=1
firstName:X
lastName:Y
把它放在桌子上。 我在谷歌上搜索了很多天的资料,但没有找到任何解决方案。 请帮助我,请通过代码解释


谢谢。

如果您的目标SDK是ios4或更高版本,您可以使用此项目

将源添加到项目后,只需

#import "SBJson.h"
并按如下方式转换Json字符串

jsonResponse = [string JSONValue];
如果字符串中没有完整的Json数组,则该方法将失败,但可以继续追加字符串,直到它不失败为止

跟进codejunkie下面的请求 您可以在数据结构中假设
jsonResponse
是一个
NSArray
在其他实现中,请注意测试NSArray或NSDictionary的响应

NSArray * myPeople = [string JSONValue]; 
NSMutableDictionary * organizedData = [[NSMutableDictionary alloc] init];
for (NSDictionary * p in myPeople) {
    [organizedData setValue:p forKey:[p valueForKey:@"id"]];
}
    // now you can query for an id like so
    // [organizedData valueForKey:@"1"]; and your output will be what you wanted from the original question
    // just don't forget to release organizedData when you are done with it

我使用它从一个Web服务中获取数据,该Web服务会弹出50条记录,每条记录还有20个内部元素,与您指定的元素类似

我以以下方式使用JSONKit…(很多用户都看过SBJson,但我对go这个词感到困惑。)


检查一下,让我知道它是否有效。。顺便说一句,各位反应不错。。。很好

这里有很多解决方案:您好,谢谢您的回复。我已经做到了,现在的问题是,当我把类文件夹放在我的项目的框架文件夹中时,我遇到了错误。嗨,谢谢你的回复。我已经完成了,但现在的问题是,当我把classes文件夹放在我的项目的framework文件夹中时,我遇到了错误。它在streamparser文件中给出了几个错误。嘿,没问题。什么样的错误?有几个不同的版本,我建议从V3.0开始,然后逐步升级。我正在进行一个项目,在这个项目中,我可以在表行中显示名字和姓氏。我正在考虑根据它们的id值来执行此操作,并将它们放在表行中。你知道我该怎么做吗,我的意思是我该如何分别获取对象。?@codejunkie。我再次编辑以帮助您。至于表行。在此处查找与UITableView和好运相关的问题。如果你觉得原来的问题已经解决了,你能投赞成票或标为回答吗。谢谢,谢谢你的回复。但我已经使用SBJSON启动了我的项目。
JSONDecoder *jArray = [[JSONDecoder alloc]init];
NSMutableArray *theObject = [[NSMutableArray alloc] init];   
 theObject = [jArray objectWithData:theResponseData];//objectWithString:theResponseString
NSMutableArray *csArray = [[NSMutableArray array] retain] ;

    for(id key in theObject)
    {
      if([key valueForKey:@"firstName"]  != Nil) 
      {
       ........
       }
     if([key valueForKey:@"lastName"]  != Nil) 
      {
       ........
       }
    }