我有一个随机字典,我想遍历该字典中的所有对象。有没有办法找到字典中对象的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。

最佳答案

考虑:

  • 您可以获得字典中的所有键并对其进行迭代。例如。 for (NSString *key in dictionary) {...}
  • 给定密钥,您可以获取匹配的值并测试其本身是否是字典。
  • 递归是您的 friend 。您可以编写一个函数,该函数使用当前的密钥路径前缀,字典和可变数组来添加找到的密钥路径。该实现将涉及(1),(2)和一个递归调用。

  • 现在为自己编写一些代码。如果遇到问题,请提出一个新问题,包括您的代码,并说明您遇到的问题。

    高温超导

    关于ios - NSDictionary查找keyPath,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47091271/

    10-12 03:30