【发布时间】:2015-09-06 23:00:25
【问题描述】:
基本上,我想做的是制作一个程序,列出英雄联盟的游戏信息。使用那里的 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
看看前面的例子Simple working Example of json.net in VB.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
有人能解释我如何才能让它工作吗?
【问题讨论】:
-
The first set will always...可以有多个人/项目/用户返回给你吗? -
@Plutonix 不,它总是返回给我的单个用户,总是相同的信息,它只是第一个区域被更改,调用用户名时它总是用户名和 ID。 . 我只是不知道如何让该用户正确返回:/