使用Newtonsoft Linq访问嵌套的JSON数据
问题描述:
如何在下面的JSON字符串中访问url
的值?使用Newtonsoft Linq访问嵌套的JSON数据
JSON
{
"id": "7453",
"picture": {
"data": {
"is_silhouette": false,
"url": "https:\/\/scontent.xx.fbcdn.net\/v\/t1.0-1\/p50x50\/gf6474hfff.jpg?oh=fy&oe=trtr"
}
}
}
Dim o As Newtonsoft.Json.Linq.JObject = Newtonsoft.Json.Linq.JObject.Parse(json)
我可以像这样访问id
:
o("id").ToString()
所以我希望下面就为url
性质的工作,但我得到一个错误:
Object reference not set to an instance of an object
o("picture.data.url").ToString()
答
你可以一次做一个。
Dim pic = o("picture")("data")("url")
我也发现了,你也可以做Newtonsoft.Json另一种方法:
Dim pic = o.SelectToken("picture.data.url")
'O( “图片”)( “数据”)( “URL”)' - 它不会为你解析字符串obj引用。在反序列化时通常更容易处理 – Plutonix
如果将它粘贴到类似'jsonlint.com'的东西中,则更容易查看层次结构 – Plutonix