读Json内部节点

时间:2015-07-21 07:13:46

标签: c# json

我在“ responseText

中有一个json字符串

然后我使用

反序列化该字符串
var getJson = JsonConvert.DeserializeObject(responseText);

我这样得到乔恩 My Json Output

现在我希望从 0 >获取国家/地区名称的 address_components

我想读取该节点哪个子节点包含类型国家/地区

你可以看到

results > 0 > address_components > 8 > types > 0

1 个答案:

答案 0 :(得分:4)

DeserializeObject的结果是一个对象。如果它是动态对象,那将是最好的。您可以像使用数组或字典一样检索子项(取决于json子项的内容)。

        dynamic receivedData = JsonConvert.DeserializeObject<dynamic>(json);

        var addresses = receivedData["results"][0]["address_components"];
        var firstAdress = addresses[0];

还要记住正确命名变量和函数。 getJson不是一个好名字,因为它不会检索json。我会将其重命名为retrievedData或其他内容。

编辑: 使用动态的原始示例不起作用。