【发布时间】:2019-09-19 18:55:12
【问题描述】:
我正在尝试使用JavaScriptSerializer 从网站 API 中提取一些信息。但是,我是 vb.net 中的新手,似乎无法加载文本框。我认为这与我从网站收到的 JSON 文本有关,该网站顶部有状态,但我不知道如何解决这个问题。
这是 JSON 文本:
{
"status": "ok",
"meta": {
"count": 1
},
"data": {
"1000003149": {
"members": [
{
"account_name": "CHOP210"
},
{
"account_name": "Guns_n_Roses"
},
{
"account_name": "vonhames"
},
{
"account_name": "wiggum99"
},
{
"account_name": "VonChalon"
},
{
"account_name": "FokkerDR1"
},
{
"account_name": "Force12"
},
{
"account_name": "m4irish"
},
{
"account_name": "panzer1_14"
},
{
"account_name": "alchemicalgunner007"
},
{
"account_name": "Morrros"
},
{
"account_name": "jonah128"
},
{
"account_name": "Zy4"
},
{
"account_name": "Terminator6644"
},
{
"account_name": "Dionisiovega"
}
]
}
}
}
这是我的代码:
Imports System.Net
Imports System.IO
Imports System.Web.Script.Serialization
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim uriString As String = "https://api.worldoftanks.com/wot/clans/info/?application_id=c2b5cb8d6c77098c8a9a481e68476b28&clan_id=1000003149&fields=members.account_name"
Dim uri As New Uri(uriString)
Dim Request As HttpWebRequest = HttpWebRequest.Create(uri)
Request.Method = "GET"
Dim Response As HttpWebResponse = Request.GetResponse()
Dim Read = New StreamReader(Response.GetResponseStream())
Dim Raw As String = Read.ReadToEnd()
Dim dict As Object = New JavaScriptSerializer().Deserialize(Of List(Of Object))(Raw)
For Each item As Object In dict
TextBox1.Text += item("account_name").ToString + vbNewLine
Next
End Sub
End Class
我认为文本框无法加载的原因是 JSON 文本的状态和数据部分。现在我只是在填充一个多行文本框,但稍后我需要使用帐户 ID 将它们绑定到一个组合框。
【问题讨论】:
标签: json vb.net api javascriptserializer