analizar JSON con JRock en VB.NET
Pregunta
Estoy intentando analizar un poco de JSON. Estoy regresando de un servicio. Por ejemplo, está volviendo
{
"error" :
{
"code" : 500,
"message" : "Error Executing Task. Error executing tool.",
"details" : []
}
}
Todo lo que necesito es el texto en el campo de mensajes. Usando Jayrock, ¿cuál es la forma fácil de llegar a los datos? Tengo:
Dim request As HttpWebRequest
Dim response As HttpWebResponse = Nothing
Dim jarray As Jayrock.Json.JsonObject
request = DirectCast(WebRequest.Create(url), HttpWebRequest)
response = DirectCast(request.GetResponse(), HttpWebResponse)
Dim reader As JsonTextReader = New JsonTextReader((New StreamReader(response.GetResponseStream)))
jarray = Jayrock.Json.Conversion.JsonConvert.Import(reader)
¿Cuál es la forma más eficiente de obtener los datos de "mensaje"?
Solución
Solo puedo hablar por mí mismo, pero lo escribiría de esta manera:
Dim cMessage As String = "{ ""error"" : { ""code"" : 500, " & _
"""message"" : ""Error Executing Task. " & _
"Error executing tool.""," & _
"""details"" : [] " & _
"}" & _
"}"
Dim objResponse As JsonObject
objResponse = CType(JsonConvert.Import(cMessage), JsonObject)
MsgBox( "Last response was: " + objResponse("error")("message") )
PD: No olvides importar jayrock.json y jayrock.json.conversion
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow