【问题标题】:Access nested JSON data with Newtonsoft Linq使用 Newtonsoft Linq 访问嵌套的 JSON 数据
【发布时间】:2017-05-02 15:22:21
【问题描述】:

如何在下面的 JSON 字符串中访问 url 的值?

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 属性,但我收到错误消息:

对象引用未设置为对象的实例

o("picture.data.url").ToString()

【问题讨论】:

  • o("picture")("data")("url") - 它不会为您解析字符串 obj 引用。反序列化时通常更容易使用
  • 如果您将其粘贴到jsonlint.com 之类的内容中,也更容易看到层次结构

标签: json vb.net linq json.net


【解决方案1】:

你可以一次做一个。

Dim pic = o("picture")("data")("url")

我还发现你也可以在Newtonsoft.Json中做另一种方法:

Dim pic = o.SelectToken("picture.data.url")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多