J'ai ce code dans mon projet:
Dim request As HttpWebRequest
Dim response As HttpWebResponse = Nothing
Dim reader As StreamReader
request = DirectCast(WebRequest.Create("https://url.to.my.json"), HttpWebRequest)
response = DirectCast(request.GetResponse(), HttpWebResponse)
reader = New StreamReader(response.GetResponseStream())
Dim rawresp As String
rawresp = reader.ReadToEnd()
textbox2.text = rawresp
et TextBox2 obtient le code JSON correctement.
et voici mon exemple de code JSON:
{
"id":174543706,
"first_name":"Hamed",
"last_name":"Ap",
"username":"hamed_ap",
"type":"private"
}
Ma question:
Comment obtenir 174543706 à partir du code JSON ("id") dans TextBox3.Text ???
Vous pouvez utiliser JavaScriptSerializer
qui est dans System.Web.Script.Serialization
.
Imports System.Web.Script.Serialization
Module Module1
Sub Main()
Dim s As String
Try
Dim rawresp As String = "{""id"":174543706,""first_name"":""Hamed"",""last_name"":""Ap"",""username"":""hamed_ap"",""type"":""private""}"
Dim jss As New JavaScriptSerializer()
Dim dict As Dictionary(Of String, String) = jss.Deserialize(Of Dictionary(Of String, String))(rawresp)
s = dict("id")
Catch ex As Exception
End Try
End Sub
End Module
essayez ce code:
Dim jsonResulttodict = JsonConvert.DeserializeObject(Of Dictionary(Of String, Object))(rawresp)
Dim firstItem = jsonResulttodict.item ("id")
espérons que cela vous aide !!
Comment obtenir 174543706 du code JSON ("id") en TextBox3.Text
?
{
"id": 174543706,
"first_name": "Hamed",
"last_name": "Ap",
"username": "hamed_ap",
"type": "private"
}
Désolé si ma réponse était en retard. J'espère que ma réponse pourra aider quelqu'un qui a encore du mal à comprendre ... Donc, vous avez obtenu la réponse et lu le JSON.
Après avoir effectué ReadToEnd()
:
Dim xr As XmlReader = XmlReader.Create(New StringReader(rawresp))
Dim doc As XmlDocument = New XmlDocument()
doc.LoadXml(rawresp)
Ensuite, vous devez lire les données de la réponse. tu fais comme ça:
Dim res As String = JsonConvert.SerializeXmlNode(doc)
Dim ThisToken As JObject = Newtonsoft.Json.JsonConvert.DeserializeObject(Of JObject)(res)
Dim response As String = ThisToken("response").ToString()
Dim ThisData As JObject = Newtonsoft.Json.JsonConvert.DeserializeObject(Of JObject)(response)
Après cela, vous pouvez obtenir les données de la réponse et les convertir en chaîne.
Dim idx As String = ThisData("id").ToString()
// the value of idx will be: 174543706
Enfin, vous pouvez le mettre dans Texbox3.Text
.