你如何阅读这种格式的数据?

How do you read this format of data?

我有以下一组数据(更大,我已经删减了)

[{
    "title": "Brave",
    "year": "2012",
    "imdbid": "tt1217209",
    "scid": "2"
}, {
    "title": "The Watch",
    "year": "2012",
    "imdbid": "tt1298649",
    "scid": "1"
}]

我希望能够得到 "title",例如 Brave 通过找到 scid : 2.

这与我熟悉的其他 Json 格式不相似,因为另一个儿子有父节点和子节点,但这个没有。

我需要做什么才能获得我需要的数据? 我只需要能够读取 vb.net

中的值

编辑:我相信这是 Javascript Json 格式?

您需要安装一个名为 Newtonsoft.json 的软件包,可以从 package manager console 安装,如下所示:

install-package Newtonsoft.json

并像这样包含它:

Imports Newtonsoft.Json
Imports Newtonsoft.Json.Linq

您的代码可能如下所示:

Dim json As String = line

    Dim ser As JObject = JObject.Parse(json)
    Dim data As List(Of JToken) = ser.Children().ToList

    For Each item As JProperty In data
        item.CreateReader()
        Select Case item.Name
            Case "metadata"
                'MsgBox(item.Name)
            Case "data"
                For Each msg As JObject In item.Values

                    Dim scid As String = msg("scid")
                    Dim title As String = msg("title")

                Next
        End Select


    Next

您可以参考 these 代码示例以获得更多示例,祝您好运。

对我来说,这似乎是一个非常标准和简单的 json。
你可以用这个简单的代码得到你的对象。

首先你有一个像这样的class

Class myObj

    Public Property Title As String
    Public Property year As Integer 
    Public Property imdbid As String
    Public Property scid As Integer

End Class

然后用

得到它
Sub Main()

    Dim input = File.ReadAllText("d:\temp\test2.json")
    Dim list = JsonConvert.DeserializeObject(Of List(Of myObj))(input)
    Dim obj = list.FirstOrDefault(Function(x) x.scid = 2)
    Console.WriteLine(obj.Title)
End Sub

(当然,您需要在项目中引用一个 json 解析库,例如 newtonsoft.json,如其他答案中所述)