【问题标题】:How to parse JSON having dynamic key node如何解析具有动态关键节点的 JSON
【发布时间】:2012-02-23 13:34:16
【问题描述】:

如何在 iPhone 中解析以下 JSON。关键 node_10947 可能每次都会改变。

有什么想法吗?

{
"metadata": {
    "node_10947": {
        "nodeID": "10947",
        "objectID": "11121",
        "name": "Abc",
        "classIdentifier": "folder",
        "node_10948": {
            "nodeID": "10948",
            "objectID": "11122",
            "name": "Abc_A",
            "classIdentifier": "tag"
        },
        "node_10951": {
            "nodeID": "10951",
            "objectID": "11123",
            "name": "Abc_b",
            "classIdentifier": "tag"
        },
        "node_10952": {
            "nodeID": "10952",
            "objectID": "11125",
            "name": "Abc_c ",
            "classIdentifier": "tag"
        }
    },
    "node_170": {
        "nodeID": "170",
        "objectID": "196",
        "name": "XYZ",
        "classIdentifier": "folder",
        "node_179": {
            "nodeID": "179",
            "objectID": "206",
            "name": "XYZ_a",
            "classIdentifier": "tag"
        },
        "node_180": {
            "nodeID": "180",
            "objectID": "207",
            "name": "XYZ_b",
            "classIdentifier": "tag"
        },
        "node_182": {
            "nodeID": "182",
            "objectID": "209",
            "name": "XYZ_c",
            "classIdentifier": "tag"
        }
    }
}

}

我有上面的 json 并且关键节点可能随时更改,请建议我如何解析其节点随时动态更改的 json ???

【问题讨论】:

  • 你试过使用这个框架吗stig.github.com/json-framework 它为我节省了很多读/写 JSON 的时间
  • 您到底想达到什么目的?是什么让您认为 node_10947 每次都应该相同?

标签: iphone objective-c ios json parsing


【解决方案1】:

使用 Ehab Amer 指出的框架。 对于解析,您可以使用此代码片段

SBJsonParser *sbjasonObj=[[[SBJsonParser alloc]init] autorelease];
NSMutableDictionary *categoriesContainer = [[NSMutableDictionary alloc]initWithDictionary:[sbjasonObj objectWithString:result]];

结果是 JSON 作为你的。

【讨论】:

    【解决方案2】:

    如果您可以修改该 json,则在 json 中再包含一个键,该键将保存当前键的值,如下所示:

    { “元数据”:{ currentKey:“node_10947}

    并使用该键访问由 node_10947 定义的值。

    您也可以使用 JSONKit 之类的框架来解析 json。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-01
      • 2015-06-26
      • 2023-03-03
      • 2015-09-25
      • 1970-01-01
      相关资源
      最近更新 更多