设置数组等于 JSON 数组 - Xcode
Posted
技术标签:
【中文标题】设置数组等于 JSON 数组 - Xcode【英文标题】:Setting array equal to JSON array - Xcode 【发布时间】:2013-03-30 19:26:13 【问题描述】:我试图弄清楚如何从 JSON 数组中填充表格。到目前为止,我可以使用以下代码完美地填充表格单元格:
self.countries = [[NSArray alloc]initWithObjects:@"Argentina",@"China",@"Russia",nil];
关于 JSON,我可以一次成功地检索一行文本并将其显示在标签中。我的目标是从 JSON 数组填充整个表格视图。我尝试使用以下代码,但它仍然不会填充我的表格。显然我做错了什么,但我到处搜索仍然无法弄清楚:
NSURL *url = [NSURL URLWithString:@"http://BlahBlahBlah.com/CountryList"];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
AFJSONRequestOperation *operation = [AFJSONRequestOperation JSONRequestOperationWithRequest:request success:^(NSURLRequest *request, NSHTTPURLResponse *response, id JSON)
NSLog(@"%@",[JSON objectForKey:@"COUNTRIES"]);
self.countries = [JSON objectForKey:@"COUNTRIES"];
failure:nil];
[operation start];
我很肯定正在检索数据,因为 NSLog 输出的文本非常好。但是当我尝试将我的数组设置为 JSON 数组时,什么也没有发生。我知道代码可能是错误的,但我认为我在正确的轨道上。非常感谢您的帮助。
编辑: 这是我正在使用的 JSON 文件中的文本:
"COUNTRIES": ["Argentina", "China", "Russia",]
-里程
【问题讨论】:
你能展示一下你的json结构吗?是不是类似字典数组之类的东西。?并尝试将您的数组类型 NSArray 更改为 NSMutableArray。 @MicRO 我在上面发布了 JSON 结构。我希望这就是你的意思。 NSMutableArray 并没有真正做任何事情,但我非常感谢您的回复。 【参考方案1】:看来您需要一些基本的 JSON 解析。如果您只针对 ios 5.0 及更高版本的设备,那么您应该使用NSJSONSerialization。如果你需要支持早期的 iOS 版本,那么我真的推荐开源的JSONKit 框架。
推荐了以上内容后,我自己几乎总是使用Sensible TableView 框架从我的网络服务中获取所有数据并自动将其显示在表格视图中。为我节省了大量体力劳动并使应用程序维护变得轻而易举,因此这可能也是需要考虑的事情。祝你好运!
【讨论】:
以上是关于设置数组等于 JSON 数组 - Xcode的主要内容,如果未能解决你的问题,请参考以下文章