C#中使用Newtonsoft.Charp实现Json对象序列化与反序列化

场景

C#中使用Newtonsoft.Json实现对Json字符串的解析:

C#中使用Newtonsoft.Json实现对Json字符串的解析_霸道流氓气质的博客-CSDN博客

上面讲的对JSON字符串进行解析,实际就是JSON对象的反序列化。

在与第三方进行交互时常需要封装对象,存储各种属性消息,然后将

对象序列化为json字符串并进行发送传输。

注:

博客:
霸道流氓气质_C#,架构之路,SpringBoot-CSDN博客

实现

1、可直接解决方案资源管理器-引用-管理Nugut程序包-浏览中搜索

Newtonsoft.Json进行安装

2、封装对象

复制代码
    /// <summary>
    /// api 状态
    /// </summary>
    class ApiState
    {
        //连通状态
        public int connectState { get; set; }
        //连通状态监测时间
        public string connectStateMonitorTime { get; set; }
        //服务状态
        public int serviceState { get; set; }
        //服务状态监测时间
        public string serviceStateMonitorTime { get; set; }

    }

3、对象赋值

复制代码
            ApiState apiState = new ApiState();
            apiState.connectState = 0;
            apiState.connectStateMonitorTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
            apiState.serviceState = 0;
            apiState.serviceStateMonitorTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");

4、序列化对象为json字符串

复制代码
            string json1 = JsonConvert.SerializeObject(apiState);
            Console.WriteLine(json1);

5、反序列化json字符串为对象

复制代码
            //{"connectState":0,"connectStateMonitorTime":"2023-09-22 15:36:13","serviceState":0,"serviceStateMonitorTime":"2023-09-22 15:36:13"}
            ApiState apiState2 = JsonConvert.DeserializeObject<ApiState>(json1);
            Console.WriteLine(apiState2.connectState+apiState2.connectStateMonitorTime);
相关推荐
m0_720245015 小时前
1543.统计好三元组(简单)
开发语言·算法
叠层归一研究院6 小时前
AGI 系统(八):符号范畴嵌入函子 — SymCat ↪ C_M107 严格化
c语言·开发语言·人工智能·算法·transformer·agi
明朝百晓生7 小时前
Deep RL learning[2026/8]
开发语言·javascript·人工智能
weixin-a153003083167 小时前
python-装饰器
开发语言·python
我的xiaodoujiao8 小时前
快速学习Python基础知识详细图文教程17--类型注解和断点调试
开发语言·python·学习·测试工具
rockey62710 小时前
基于AScript的Lua脚本语言发布啦
c#·.net·lua·script·动态脚本
leoZ23110 小时前
AI 辅助开发的五道坎
开发语言·人工智能·视觉检测·bert·php·超分辨率重建·openvino
程序员老陆10 小时前
Qt的QThread::usleep和FFmpeg的libavutil模块的av_usleep哪个精度高一些?
开发语言·qt·ffmpeg·音视频
2601_9638699511 小时前
【计算机毕业设计】基于Java的相框定制系统的设计与实现
java·开发语言·课程设计
名字还没想好☜11 小时前
Go 的 unsafe.Pointer 实战:零拷贝 []byte↔string 转换与三条铁律
开发语言·后端·golang·go·unsafe