设置数组等于 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。如果你需要支持早期的 iO​​S 版本,那么我真的推荐开源的JSONKit 框架。

推荐了以上内容后,我自己几乎总是使用Sensible TableView 框架从我的网络服务中获取所有数据并自动将其显示在表格视图中。为我节省了大量体力劳动并使应用程序维护变得轻而易举,因此这可能也是需要考虑的事情。祝你好运!

【讨论】:

以上是关于设置数组等于 JSON 数组 - Xcode的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Xcode 中将 JSON 数组转换为数组?

将 json_encoded 数据解析为用于 UIPickerView 的数组 - Xcode

使用xcode解析对象内的json数组

在 Swift/Xcode 中将 JSON 文件转换为数组

PHP JSON 数据到 Xcode Swift 数组

获取 JSON 值到数组