0

对 JSon 不熟悉,我已经学会了如何进行基本的 JSon 配对(从这个问题和答案中学习:How to Parse Json children in VB.NET Newtonsoft

感谢这个问题和答案,我设法使用 VB.Net 读取了类似的数据

但是我的数据与子项的数据略有不同——它有额外的括号,我还没有找到读取子项的方法。

ps:我已经修改了原始问题中的Json来证明这一点-

"CcFull": [

     [      
        {
          "Email": "sample.cc@emailDomain.com",
          "Name": "John Sample"
        }
     ] ,
     [
            {
          "Email": "another.cc@emailDomain.com",
          "Name": "Mike Sample"
                }
     ] 
],
4

1 回答 1

1

由于您的 JSON 与我在引用的问题中回答的略有不同,因此您必须对事物进行一些不同的解析。

您的“CcFull”对象实际上是一个数组数组,由[]括号表示。由于冒号后面的第一个符号是一个左括号,它表示一个数组。下一个符号也是一个左括号,所以它是一个数组数组。

要使用 Json.Net 对象取消引用它,我们必须将项目值作为JArray对象获取。然后我们可以迭代该对象中的数组值,就像在另一个问题中一样。像这样的东西:

Dim results As List(Of JToken) = o.Children().ToList
For Each item As JProperty In results
    item.CreateReader()
    Select Case item.Name
        Case "CC"
            Dim strCC = item.Value.ToString

        Case "CcFull"
            Dim ccArray As JArray = item.Value    'Get the top-level array
            Dim strEmail As String
            Dim strName As String
            For Each subitem As JObject In ccArray.Values
                strEmail = subitem("Email")
                strName = subitem("Name")
            Next
    End Select
Next
于 2013-04-13T15:28:21.053 回答