2015-11-03 34 views
0

比方说,我有一个JSON字符串类似如下:如何从JSON字符串中的任何级别检索特定键的所有匹配项?

{ 
    "Id": " 1, 
    "Title": "AllLocations", 
    "Locations": 
    [ 
     { 
      "Title": "LocationA", 
      "Latitude": 100, 
      "Longitude": 100" 
     }, 
     { 
      "Title": "LocationB", 
      "Latitude": 100, 
      "Longitude": 100" 
     } 
    ] 
} 

我想轻松地拉出来Title所有出现,所以我的结果将是以下几点:

AllLocations, LocationA, LocationB

注如何Title标签可能出现在层次中的任何级别。这可能没有自己编写解析代码?使用JSON.Net的解决方案将是理想的。

编辑:道歉,如果这是一个重复的问题。我找不到任何关于在JSON层级中找到任何级别的值的其他问题。

+0

为了检索可以在“任何级别”的值,我会用正则表达式来说实话。这将是非常容易的正则表达式。 – MajkeloDev

+0

*所有*级别或*两个*级别? (我没有看到你能比这个例子更深入地理位置) – Jamiec

+0

@Jamiec *任何*级别 - 即使我有10个嵌套元素。 –

回答

1

随着JsonConvert.DeserializeObject<Dictionary<string, dynamic>>(json);

您可以查看动态的在一个循环的类型不断深入,如果它也是字符串你在你的JSON的“最深”的水平,你不再需要进一步搜索

如果您的JSON随时间变化并且现在深度达到100级,这也可以工作。

+0

@Liam我引用OP:使用JSON.Net的解决方案将是理想的。 –

+0

“使用JSON.Net的解决方案将是理想选择。”所以这正是他想要的。 – Camo

+0

抱歉不添加正确的标签。 –

相关问题