В основном, что я пытаюсь сделать, это сделать программу, которая перечисляет информацию о игре для лиги легенд .. используя там API для извлечения данных. как это работает, вы ищете там имя пользователя и возвращает целое число, связанное с этой учетной записью, и затем используйте это целое число для поиска всей информации для этой учетной записи, уровня учетной записи EG, выигрышей, потерь и т. д. Я столкнулся с проблема, которую я не могу понять. Пожалуйста, не то, что я очень новичок в Json.net, поэтому у меня мало опыта работы с ней. Ниже приведен пример поиска идентификатора пользователя. Первый раздел Имя пользователя Минус Любые пробелы в имени: следующий - это идентификатор, который я требую.Visual Basic и Json.net Веб-запрос
{"chucknoland":{"id":273746,"name":"Chuck Noland","profileIconId":662,"summonerLevel":30,"revisionDate":1434821021000}}
Я должен объявить переменные неправильно, чтобы получить данные, как и все я делаю это возвращается как 0.
это следующий класс я должен хранить идентификатор в
Public Class ID
Public Shared id As Integer
Public Shared name As String
End Class
Глядя на предыдущий пример, см. Здесь Simple working Example of json.net in VB.net
Они могут решить проблему, создав контейнерный класс со всем, что внутри него. My проблема в том, что данные, которые я ищу, я всегда меняю. Первый набор всегда будет отличаться от «Chucknoland», который показан в примере. Кто-нибудь может объяснить, как я могу извлечь эту информацию?
Обратите внимание, что переменные rRegion имеют значение того, на каком сервере он находится, Chuck Noland находится в OCE, а sSearch - это имя пользователя. Из-за проблем с ключами API мне пришлось удалить ключ API из кода. Но URL-адрес возвращает Json Provided.
'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.
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
Может ли кто-нибудь объяснить, как я могу заставить его работать?
'Первый набор всегда ...' может быть несколько человек/предметов/пользователей, которые вам вернулись? – Plutonix
@Plutonix Нет, это всегда будет один пользователь, возвращенный мне, всегда такая же информация, это только первая область, которая изменяется, при вызове имени пользователя всегда будет имя пользователя и идентификатор. Я просто не могу понять как правильно вернуть этого пользователя:/ –