ios - 将iOS中的一列JSON文件解析为数组?

标签 ios xcode json

我设法使用JSON从我的网络服务器中获取了位置列表,并从应用程序中获取了文件。
我知道它可以获取等,因为我也将其打印为NSLog,并且它在日志窗口的JSON中显示。

我的下一步是将这些值放入数组,以便最终将它们显示在UIPickerView中。

有人对我如何最好地将它们从当前JSON文件放入数组中有任何建议吗?

键是“名称”。

我无法一辈子让它循环遍历并添加到数组;也许我做错了吗?

JSON数据如下所示:

[{"Name":"Aberdaron"},{"Name":"Aberdeen"},{"Name":"Aberdovey"},{"Name":"Aberporth"},{"Name":"Aberystwyth"},{"Name":"Albert-Bridge"},{"Name":"Aldeburgh"},{"Name":"Allington-Lock"},{"Name":"Alloa"},{"Name":"Amble"},{"Name":"Amlwch"},{"Name":"Annan-Waterfoot"},{"Name":"Anstruther-Easter"},{"Name":"Applecross"},{"Name":"Appledore"},{"Name":"Arbroath"},{"Name":"Ardglass"},{"Name":"Ardnave-Point"},{"Name":"Ardrossan"},{"Name":"Arklow"},{"Name":"Arnside"},{"Name":"Arrochar"}]

到目前为止,我的代码是:
    NSString * urlString = [NSString stringWithFormat:@"http://localhost:8888/Locations.php"];
NSURL * url = [NSURL URLWithString:urlString];
NSData * data = [NSData dataWithContentsOfURL:url];
NSError * error;
NSMutableArray *json = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error];
NSLog(@"%@",json);

最佳答案

第一个答案很好地描述了如何解析数组并将其放入本地对象。我写了一个函数,它是NSString上的一个类别,您可以在下面使用。假设您的数组存储在名为json的变量中,那么在给出示例的情况下,我将使用以下代码:

NSMutableArray *nameArray = [NSMutableArray array];
for (NSDictionary *dictionary in json)
{
    [nameArray addObject:[dictionary valueForKey:@"Name"]];
}
NSLog(@"%@",nameArray);

现在,nameArray是包含与示例中给定的“name”键相对应的所有值的数组。

关于ios - 将iOS中的一列JSON文件解析为数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13790327/

相关文章:

ios - 优化 NSFetchedResultsController 获取

ios - CGContext.init() -- 不再允许 NULL 颜色空间

swift - Coredata 的 CodeGen 'manual/none + create NSManagedObject subclass' 与 'category/extension' 之间的功能差异是什么

xcode - 在 .bundle 中存储图像资源的优点

ios - 某些具有特定负载的通知的静默推送通知

javascript - Amcharts 无法正确解析 mysql 中的日期时间

ios - 如何在没有命令行的情况下以编程方式转储 SQLite

ios - 多个UITapGestureRecognizer在UIScrollView上不起作用

javascript - Google Analytics 仪表板 AJAX 函数未获取值

html - 通过 Mule 4 发送电子邮件时将 JSON 数组转换为表结构格式