VB.net使用Newtonsoft.JSON解析JSON
1.安装Newtonsoft.JSON
在【解决方案资源管理器】中右键项目,选择【管理 NuGet 程序包】
在浏览页面中搜索并安装Newtonsoft.Json即可
2. 导入Newtonsoft.Json
Imports Newtonsoft.Json
Imports Newtonsoft.Json.Linq
3.示例
json如下
{
"message": null,
"data": {
"paginationData": [
{
"name": "管理员",
"user_id": 16394,
"groupsname": ""
},
{
"name": "测试",
"user_id": 16395,
"groupsname": "部门A"
},
{
"name": "隔壁老王",
"user_id": 16396,
"groupsname": "部门A"
},
{
"name": "小明",
"user_id": 16397,
"groupsname": "部门B"
}
],
"result": 1
}
}
先创建一个对应的结构体
Public Structure Employee
Dim name As String
Dim user_id As Integer
Dim groupsname As String
End Structure
读取并解析json
Dim rawStr As String = System.IO.File.ReadAllText("D:\test.json") '读取json文件,可根据实际情况替换对应语句
Dim p As JObject = CType(JsonConvert.DeserializeObject(rawStr), JObject) '用json文本创建对象
MsgBox(p("message".ToString)) '读取值
Dim emp As List(Of Employee) '创建对应的结构体列表
emp = JsonConvert.DeserializeObject(Of List(Of Employee))(p("data")("paginationData").ToString) '如果有多层结构,可以继续添加p的子孙项
Dim empCount As Integer = emp.Count '全部职员数量
MsgBox(emp(2).name & emp(2).user_id & emp(2).groupsname) '结果为“隔壁老王16396部门A”