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 に答える