如何在没有目标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 键的确切名称不同的变量名称

如何在目标c中逐行解析JSON文件

有没有办法使用 QJsonObject 在整个 json 文件中找到一个键?

如何在没有外部递归函数的情况下解析多个嵌套的 JSON 键?

在不丢弃其余键的情况下更改对象的键值

解析没有键的多维 JSON 数组