VB.netでJSONの配列をクラスに格納する方法


VB.netでTrello APIを使うと、レスポンスはJSON形式で渡されます。
VB.netでTrello APIを使ってみました。

例えば、ボード一覧を取得する場合、このような形でデータ取得できます。

[{“name”:“Trelloへようこそ”,“id”:“0001”},{“name”:“テスト”,“id”:“0002”}]

これを、

0001:Trelloへようこそ
0002:テスト

といった形に変換するためのコードを考えました。

JSON.netを使います。
JSON.net を参照に追加し、Newtonsoft.Jsonをインポートしておきます。

次に、受け皿となるクラスを作成します。

Namespace Board
Public Class JSONList
Public Property Rows As JSONRow()
End Class
Public Class JSONRow
Public Property name As String
Public Property id As String
End Class
End Namespace

上のクラスを使って、VB.netでJSONの配列をクラスに格納するコードです。

    Dim sJSON As String  
    Dim sRtn As String  
    sJSON = "\[{""name"":""Trelloへようこそ"",""id"":""0001""},{""name"":""テスト"",""id"":""0002""}\]"  
    Dim model As New Board.JSONList  
    Dim rows As List(Of Board.JSONRow) = JsonConvert.DeserializeObject(Of List(Of Board.JSONRow))(sJSON)  
    model.Rows = rows.ToArray  
    For i = 0 To UBound(model.Rows)  
        sRtn &= model.Rows(i).id  
        sRtn &= ":"  
        sRtn &= model.Rows(i).name  
        sRtn &= vbCrLf  
    Next  
    MessageBox.Show(sRtn)  

実行すると、こう表示されます。