Analisi JSON con Jrock in VB.NET
Domanda
Sto cercando di analizzare un po 'di JSON, sto tornando da un servizio. Ad esempio sta tornando
{
"error" :
{
"code" : 500,
"message" : "Error Executing Task. Error executing tool.",
"details" : []
}
}
Tutto ciò di cui ho bisogno è il testo nel campo del messaggio. Usando Jayrock qual è il modo di facilità per raggiungere i dati. Io ho:
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)
Qual è il modo più efficace per ottenere i dati "messaggio"
Soluzione
Posso solo parlare da solo, ma lo scriverei in questo modo:
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") )
PS: non dimenticare di importare jayrock.json e jayrock.json.conversion
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow