如何在没有目标c的键的情况下解析json第一个对象?
Posted
技术标签:
【中文标题】如何在没有目标c的键的情况下解析json第一个对象?【英文标题】:How to parse json first objects without key in objective c? 【发布时间】:2017-04-30 09:56:42 【问题描述】:我需要从这个链接解析json https://raw.githubusercontent.com/David-Haim/CountriesToCitiesJSON/master/countriesToCities.json
此文件将国家/地区名称存储为键,并存储为位于这些国家/地区的城市值
我所知道的国家的钥匙如何拉城,这里以中国为例
NSDictionary *dict = [self JSONFromFile];
NSArray *city = [dict objectForKey:@"China"];
NSLog(@"Colour name: %@", city);
但我首先需要获取所有国家/地区的名称,然后用户可以选择国家/地区以进行进一步操作。
【问题讨论】:
不清楚你想要什么,但如果你想发现字典中的所有键,你可以使用[dict allKeys]
【参考方案1】:
获取 JSON 响应并将其存储在字典中,然后使用以下代码迭代此字典中的每个键值对。
对于目标 C
[dictionary enumerateKeysAndObjectsUsingBlock:^(id key, id value, BOOL* stop)
NSLog(@"%@ => %@", key, value);
// This block will iterate for each (key,value) pair in the dictionary.
];
对于 Swift 3.0
for (key, value) in dictionary
print(key, value)
// This block will iterate for each (key,value) pair in the dictionary.
【讨论】:
【参考方案2】:如果您想要字典键(国家/地区)而不是简单,您可以这样获得
NSArray* arrayCountyName = [Yourdict allKeys]; // list of your country names
【讨论】:
以上是关于如何在没有目标c的键的情况下解析json第一个对象?的主要内容,如果未能解决你的问题,请参考以下文章
kotlinx.serialization :如何解析为与 JSON 键的确切名称不同的变量名称
有没有办法使用 QJsonObject 在整个 json 文件中找到一个键?