在 vb.net 中用 jrock 解析 json

Posted

技术标签:

【中文标题】在 vb.net 中用 jrock 解析 json【英文标题】:parsing json with jrock in vb.net 【发布时间】:2011-09-08 16:23:46 【问题描述】:

我正在尝试解析一些我从服务中返回的 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)

获取“消息”数据最有效的方法是什么

【问题讨论】:

【参考方案1】:

我只能为自己说话,但我会这样写:

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") )

P.S.:别忘了导入 Jayrock.Json 和 Jayrock.Json.Conversion

【讨论】:

以上是关于在 vb.net 中用 jrock 解析 json的主要内容,如果未能解决你的问题,请参考以下文章

C# 中 JSON-RPC 客户端的示例代码

VB.net中用shell运行bat失败 请教

将 vb.net 类对象转换为 vb.net 中的 JSON 字符串

在颤动中用数组解析复杂的JSON

在haskell中用aeson解析部分json对象

在 vb .net 中使用名称空间前缀解析 XML