C#中Newtonsoft.Json.dll 的使用

1.类库说明
Newtonsoft.Json.dll是.NET 下开源的json格式序列号和反序列化的类库,利用此类库,可以方便地操作json数据,其中在反序列化时,可以直接将格式化的json数据处理成预定义的实体类,也可以生成对应的匿名类

2.环境配置
1通过NuGet程序包直接配置
在对应项目的引用选项上右键,在弹出菜单中选择”管理NuGet程序包”,在搜索框中搜索json,找到Newtonsoft.Json,等待安装完毕


3.直接引用dll
直接在项目中引用Newtonsoft.Json.dll即可
4.json序列化
1).预定义实体类

复制代码
        /// <summary>
        /// 用于测试的预定义实体类
        /// </summary>
        class JsonTest
        {
            /// <summary>
            /// 初始化
            /// </summary>
            public void Init()
            {
                JsonTest test = new JsonTest();
                test.Id = "2017";
                test.Name = "测试数据";
                test.Data = new List<string>() { "1", "2", "3", "4", "5" };
            }

            List<String> _Data = new List<string>();

            public List<String> Data
            {
                get { return _Data; }
                set { _Data = value; }
            }

            String _Name = String.Empty;

            public String Name
            {
                get { return _Name; }
                set { _Name = value; }
            }

            String _Id = String.Empty;

            public String Id
            {
                get { return _Id; }
                set { _Id = value; }
            }
        }
复制代码

2).序列化自定义实体类的对象

复制代码
        static void Main(string[] args)
        {
           SerializeTest();
            Console.ReadLine();
        }


        public static void SerializeTest()
        {
            JsonTest test = new JsonTest();
            test.Init();
            String json = JsonConvert.SerializeObject(test,Formatting.Indented);

            Console.WriteLine(json);
        }
复制代码

例子中使用了JsonConvert.SerializeObject的一个重载方法 Formatting是一个枚举类型,表示是否将json数据格式化,运行效果如下

5.反序列化

1).反序列化为预定义实体类

复制代码
        static void Main(string[] args)
        {
           DeSerializeTest();
            Console.ReadLine();
        }

        public static void DeSerializeTest()
        {
            String jsonstr = "{\"Id\":\"2017\",\"Name\":\"测试数据\",\"Data\":[\"1\",\"2\",\"3\",\"4\",\"5\"]}";
            var test = JsonConvert.DeserializeObject<JsonTest>(jsonstr);
            String str = "Id:{0}\nName:{1}\nData:{2}";

            Console.WriteLine(str, test.Id, test.Name, String.Join(",", test.Data));
        }
复制代码

运行结果

 

 

该文章转载于:CSDN-Cubeeeeee

 

posted @   青丝·旅人  阅读(3319)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
历史上的今天:
2021-06-17 ASP.NET实现简单的侧边栏折叠方法
2021-06-17 Gitee远程仓库的使用方法
点击右上角即可分享
微信分享提示