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"))
' "小红"

复制代码

 

 

 

 

posted @   浅物  阅读(30)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
点击右上角即可分享
微信分享提示