Tengo este código en mi proyecto:

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

y TextBox2 obtiene el JSON código correctamente.

y este es mi JSON ejemplo de código:

{
  "id":174543706,
  "first_name":"Hamed",
  "last_name":"Ap",
  "username":"hamed_ap",
  "type":"private"
}

Mi pregunta:

Cómo llegar 174543706 de JSON código («id») en TextBox3.El texto???

  • Convert.ToInt32(JObject.Parse(jstr)("id"))
  • error de jstr ! que debo usar rawresp lugar ?
InformationsquelleAutor Ali Emami | 2016-08-14

4 Comentarios

  1. 9

    Usted podría utilizar JavaScriptSerializer que está en 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
    • error :Dim jss Como Nuevo JavaScriptSerializer()
    • Agregar una referencia a System.Web.Extensions.
    • Este error : excepción no controlada del tipo ‘System.InvalidOperationException’ se ha producido en System.Web.Extensions.dll información Adicional: Tipo de Sistema.La cadena de’ no es compatible para la deserialización de una matriz.
    • No está seguro de lo que hiciste, pero esto funcionó cuando para mí.
    • por favor enviar todo el código ?
    • He actualizado mi respuesta con el código que he usado. Tenga en cuenta que yo soy la orientación Framework 4.5.
    • puedo usar este código : Try Dim jss As New JavaScriptSerializer() Dim dict As Dictionary(Of String, String) = jss.Deserialize(Of Dictionary(Of String, String))(rawresp) TextBox1.Text = dict("id") Catch ex As Exception End Try nada de lo que ha ocurrido
    • Usted todavía necesita para llegar rawresp la forma en que fueron previamente. Yo codificado en JSON para simular lo que estaban haciendo.
    • me doy cuenta de que mi json código tiene muchos id ! hay alguna diferente ?
    • Sí, eso sería diferente, porque el JSON que no sería el mismo.

  2. 4

    prueba este código :

    Dim jsonResulttodict = JsonConvert.DeserializeObject(Of Dictionary(Of String, Object))(rawresp)
    Dim firstItem = jsonResulttodict.item ("id") 

    espero que te ayude !!

    • ‘jsonResult’ no se ha declarado. Puede ser inaccesible debido a su nivel de protección. Cómo agregar esto ?
    • He modificado el código que fue un error lo siento ! ¡Pruébalo ahora !
  3. 1

    Cómo llegar 174543706 de JSON código («id») en TextBox3.Text?

    {
      "id": 174543706,
      "first_name": "Hamed",
      "last_name": "Ap",
      "username": "hamed_ap",
      "type": "private"
    }

    Lo siento si mi respuesta era tarde. Espero que mi respuesta puede ayudar a alguien que todavía está confundido.
    Así que lo que hacer era conseguir la respuesta y leer el JSON.

    Después de hacer ReadToEnd():

    Dim xr As XmlReader = XmlReader.Create(New StringReader(rawresp))
    Dim doc As XmlDocument = New XmlDocument()
    doc.LoadXml(rawresp)

    Entonces Lo que usted necesita hacer es leer los datos de la respuesta. te gusta esta:

    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)

    Después de que yo pueda obtener los datos de la respuesta y la convierten en cadena

    Dim idx As String = ThisData("id").ToString()
    
    // the value of idx will be: 174543706

    A continuación, la última que se puede poner en Texbox3.Text.

  4. 0

    Esto funciona:

    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 = JObject.Parse(rawresp)("id")

Dejar respuesta

Please enter your comment!
Please enter your name here