Web ソースから返された次の json を逆シリアル化しようとしています:
{
"cards": [
{
"high": "8.27",
"volume": 5,
"percent_change": "0.00",
"name": "Wurmcoil engine",
"url": "http://blacklotusproject.com/cards/Scars+of+Mirrodin/Wurmcoil+Engine/",
"price": "6.81",
"set_code": "SOM",
"average": "5.67",
"change": "0.00",
"low": "1.12"}],
"currency": "USD"
}
私は、Visual Basic で json.net を使用しています。これは、特に vb のオブジェクト指向部分の両方にとって新しいものです。「価格」変数を抽出したいだけです。私はそのようなクラスを設定しました:
Public Class Card
Public high As String
Public volume As String
Public percent_change As String
Public name As String
Public url As String
Public price As String
Public set_code As String
Public average As String
Public change As String
Public low As String
End Class
私が現在使用しているコードは次のとおりです。
Public Sub parse_json(url As String)
Dim blp_json As String = ""
Dim wClient As New WebClient
wClient.Proxy = System.Net.HttpWebRequest.DefaultWebProxy
blp_json = wClient.DownloadString(url)
MessageBox.Show(blp_json)
Dim card_1 = Newtonsoft.Json.JsonConvert.DeserializeObject(Of Card)(blp_json)
PriceTextBox.Text = card_1.price
TextBox1.AppendText(card_1.ToString)
TextBox1.AppendText(blp_json)
End Sub
コツをつかむためにさまざまなことを試しているだけで、自分が何をしているのかよくわかりません。「価格」がカードにネストされているように見えるため、カードクラスが間違っていると思います:[{...}]
私はjsonのデシリアライズについてはまったく知りませんし、vbで/適切に/行う方法についてはあまり知りません。