我有一个随机字典,我想迭代那个字典里面的所有对象。有没有办法找到字典内的对象的keyPath?
假设我们有这本词典。
{
"glossary": {
"title": "example glossary",
"GlossDiv": {
"title": "S",
"GlossList": {
"GlossEntry": {
"ID": "SGML",
"SortAs": "SGML",
"GlossTerm": "Standard Generalized Markup Language",
"Acronym": "SGML",
"Abbrev": "ISO 8879:1986",
"GlossDef": {
"para": "A meta-markup language, used to create markup languages such as DocBook.",
"GlossSeeAlso": [
"GML",
"XML"
]
},
"GlossSee": "markup"
}
}
}
}
}
现在我想找到GlossEntry的keyPath或任何其他对象。
答案 0 :(得分:1)
考虑:
您可以获取字典中的所有键并迭代它们。例如。 for (NSString *key in dictionary) {...}
给定一个键,您可以获得匹配值并测试它本身是否为字典。
递归是你的朋友。您可以编写一个函数,该函数采用当前的键路径前缀,字典和可变数组来添加找到的键路径。执行此操作将涉及(1),(2)和递归调用。
现在给自己写一些代码。如果你遇到困难,请提出一个新问题,包括你的代码,并解释你被困的地方。
HTH