Вопрос

Я пытаюсь проанализировать какой -то JSON, я возвращаюсь от службы. Например, он возвращается

      {
  "error" : 
  {
    "code" : 500, 
    "message" : "Error Executing Task. Error executing tool.", 
    "details" : []
  }
}

Все, что мне нужно, это текст в поле сообщения. Использование Jayrock, какой вид сости, чтобы добраться до данных. У меня есть:

 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)

Какой самый эффективный способ получить данные «сообщения»

Это было полезно?

Решение

Я могу говорить только за себя, но я бы написал это таким образом:

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: не забудьте импортировать Jayrock.json и Jayrock.json.conversion

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top