我从ETH中提取了下面的json。所以这是一个有效的json。
"networks": {
"18": {
"address": "0x478a2763d239b60206006437f5154dad59fef909"
}
}
尝试使用以下方法解析:
dynamic Obj = JsonConvert.DeserializeObject(".... json string .....");
Obj.Networks.18.address; // Error
Obj.SelectToken("networks.18.address"); // Null
我甚至无法编译,因为标签名称不能以数字开头。
我可以知道访问该地址的正确方法是什么?
答案 0 :(得分:0)
您可以创建一个代表数据的模型
public class RootObject {
public Dictionary<string, network> networks { get; set; }
}
public class network {
public string address { get; set; }
}
并使用它来访问所需的信息
var data = JsonConvert.DeserializeObject<RootObject>(".... json string .....");
var address = data.networks["18"].address;
由于语法冲突,使用字符串Dictionary
作为能够访问键值对的解决方法。