基本上我想做的是制作一个程序来列出英雄联盟的游戏信息..使用 API 来提取数据。其工作原理是,您搜索用户名,它会返回链接到该帐户的整数,然后您使用该整数搜索该帐户的所有信息、EG 帐户级别、获胜、损失等。
我遇到了一个我似乎无法弄清楚的问题。请注意,我对 Json.net 很陌生,所以对它的使用经验很少。下面是如何找到用户 ID 的搜索,第一部分是用户名减去名称中的任何空格,接下来是 ID,这是我需要的信息。
{"chucknoland":{"id":273746,"name":"Chuck Noland","profileIconId":662,"summonerLevel":30,"revisionDate":1434821021000}}
我必须声明变量错误才能获取数据,因为我所做的一切都返回为 0。
这些是我必须在其中存储 ID 的以下类
Public Class ID
Public Shared id As Integer
Public Shared name As String
End Class
查看此处看到的先前示例VB.net 中 json.net 的简单工作示例
他们能够通过创建一个包含其中所有内容的容器类来解决这个问题。我的问题是我寻找的数据总是在变化。第一组总是与示例中显示的“Chucknoland”不同。有人能够解释我如何提取这些信息吗?
请注意,变量 rRegion 具有所在服务器的值,Chuck Noland 在 OCE 上,sSearch 是用户名。由于 API 密钥存在问题,我不得不从代码中删除 API 密钥...但是 URL返回提供的 Json。
'URL string used to grab Summoner ID
jUrlData = "https://oce.api.pvp.net/api/lol/" + rRegion + "/v1.4/summoner/by-name/" + sSearch +
' Create a request for URL Data.
Dim jsonRequest As WebRequest = WebRequest.Create(jUrlData)
'request a response from the webpage
Dim jsonResponse As HttpWebResponse = CType(jsonRequest.GetResponse(), HttpWebResponse)
'Get Data from requested URL
Dim jsonStream As Stream = jsonResponse.GetResponseStream()
'Read Steam for easy access
Dim jsonReader As New StreamReader(jsonStream)
'Read Content
Dim jsonResponseURL As String = jsonReader.ReadToEnd()
jUrlString = jsonResponseURL
这是我必须获取信息的请求,这是我尝试用来显示该 json 的 ID 的代码。
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Dim obj As ID
obj = JsonConvert.DeserializeObject(Of ID)(jUrlString)
MsgBox(obj.id)
End Sub
有谁能解释一下我该如何让它发挥作用?