读取Json内部节点

本文关键字:内部节点 Json 读取 | 更新日期: 2023-09-27 18:03:48

我有一个json字符串在"responseText"

然后我用

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

我了解Josn是这样的我的Json输出

现在我想从0> address_components获取国家名称。

我想读取子节点包含Types country

的节点

你可以看到

results > 0 > address_components > 8 > types > 0

读取Json内部节点

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

        dynamic receivedData = JsonConvert.DeserializeObject<dynamic>(json);
        var addresses = receivedData["results"][0]["address_components"];
        var firstAdress = addresses[0];

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

编辑:使用动态的,原来的例子不起作用