Visual Basic .NET/vb.net 使用JSON

  • Jayrock
  • litJson
  • Newtonsoft
json数据
{
    "total": 1,
    "code": 0,
    "rows": [
        {
            "id": 1013,
            "name": "QB",
            "version": "1.0.2",
            "size": 707608
        }
    ]
}

使用Jayrock解析

Jayrock是一个LGPL的开源的软件,实现了JSON和JSON-RPC,支持微软ASP.NET框架。

Imports Jayrock.Json 
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") ) 

使用LitJson解析

LitJSON是一个.NET平台下处理 JSON格式数据 的类库,小巧、快速。它的源代码使用C#编写,可以通过任何.Net平台上的语言进行调用

LitJson官方GitHub:https://github.com/LitJSON/litjson

private void LitJsonRead(string dataJson)
        {
            JsonData json = JsonMapper.ToObject(dataJson);
            if((int)json["code"]==0)
            {
                JsonData data = json["rows"][0];
                int id = (int)data["id"];
                string name = data["name"].ToString();
                string version = data["version"].ToString();
                string size = data["size"].ToString();
            }
            
}

使用Newtonsoft类似

Newtonsoft.Json,是.Net中开源的Json序列化和反序列化工具,官方地址:http://www.newtonsoft.com/json

private void NewtonsoftRead(string dataJson)
        {
            JObject json = JObject.Parse(dataJson);
            if((int)json["code"] == 0)
            {
                string dataS = json["rows"][0];
                JObject data = JObject.Parse(dataS);
                int id = (int)data["id"];
                string name = data["name"].ToString();
                string version = data["version"].ToString();
                string size = data["size"].ToString();
            }
} 

原文链接: https://json.im/jichu/vbnet-json.html