JSON 学习
.net JSON解析
一、加载Newtonsoft.Json.dll
二、要加命名空间 Imports Newtonsoft.Json
三、序列化
(用Newtonsoft.Json.dll 中的JsonConvert.SerializeObject(ClsStudent)方法把ClsStudent类序列化成JSON格式的字符串方便通讯)
1、新建用于序列化的类(常
Public Class ClsStudent Public Sub New(ByVal ID As Integer, ByVal Name As String, ByVal Age As Int16, ByVal Teacher As String) _ID = ID _Name = Name _Age = Age _Teacher = Teacher End Sub Public _ID As Integer Public _Name As String Public _Age As Int16 Public _Teacher As String End Class Public Class ClsSchool Public 学院_ID As Integer Public 学院_Name As String public student As ClsStudent End Class
2、序列化
Dim Data = JsonConvert.SerializeObject(ClsStudent) '序列化为JSON格式的字符串 Console.Write(Data) '{"_ID":123,"_Name":"小明","_Age":16,"_Teacher":"张老师"} '{"学院_ID":123,"学院_Name":"电气工程","student":{"_ID":123,"_Name":"小明","_Age":16,"_Teacher":"张老师"}}
四、反序列化
方法1、(将接收到的JSON还原到预定义的类然后读取属性字段)
Dim XiaoMing As String = "{"_ID":123,"_Name":"小明","_Age":16,"_Teacher":"张老师"}" '反序列化为预定义实体类 Dim Student As ClsStudent = JsonConvert.DeserializeObject(Of ClsStudent)(XiaoMing) Console.Write(Student.Name) ' "小明"
方法2、(类似反序列化成键值对,然后找到对应的键就可以知道值,也可以更改对应键的值)
Dim Student = JsonConvert.DeserializeObject(XiaoMing) '反序列不用预定义类 Console.Write(Student("Name"))
' "小明"
Student("Name") = “小红”
Console.Write(Student("Name"))
' "小红"

浙公网安备 33010602011771号