【问题标题】:Setting array equal to JSON array - Xcode设置数组等于 JSON 数组 - 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 并没有真正做任何事情,但我非常感谢您的回复。

标签: arrays json uitableview httprequest afnetworking


【解决方案1】:

看来您需要一些基本的 JSON 解析。如果您只针对 iOS 5.0 及更高版本的设备,那么您应该使用NSJSONSerialization。如果你需要支持早期的 iO​​S 版本,那么我真的推荐开源的JSONKit 框架。

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

【讨论】:

    猜你喜欢
    • 2021-12-29
    • 2018-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多