码迷,mamicode.com
首页 > Web开发 > 详细

.NET和JSON

时间:2016-02-21 17:04:39      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:

JSON(JavaScript Object Notation)已经成为了现在大多数程序间数据交换的存储格式,在很多地方取代了XML文件的位置。JSON实际就是JavaScript的对象数组。

.NET操作JSON的方法,基本上可以分为两种:官方和第三方。官方直到.NET Framework 3.5才对JSON有支持,如果想在之前的.NET Framework版本中使用JSON的话,那就必须借助于第三方类库,如Newtonsoft(http://www.newtonsoft.com/json)。


.NET Framework 3.5提供的JSON操作方法

在项目中添加引用:System.ServiceModel.Web 和 System.Runtime.Serialization。

我们测试用到的类如下([]里面的属性是必须加的):

        [DataContract]
        class Person
        {
            [DataMember]
            public string Name { get; set; }

            [DataMember]
            public int Age { get; set; }
        }
 

测试代码:

        static void Main(string[] args)
        {
            Person p1 = new Person() { Name = "Richeir", Age = 25 };
            using (MemoryStream stream1 = new MemoryStream())
            {
                DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(Person));
                ser.WriteObject(stream1, p1);
                string convertResult = Encoding.UTF8.GetString(stream1.ToArray());
                Console.WriteLine(convertResult);
            }


            Console.ReadKey();
        }

输出结果为:

技术分享


Newtonsoft.Json提供的JSON操作方法

相比官方的转换方法,第三方提供的类库要简单很多。官方给的默认部署方式是直接打开VS的包管理器,PM > Install - Package Newtonsoft.Json就可以直接安装好。

测试类依旧,测试代码:

            string newtonSoftJson = JsonConvert.SerializeObject(p1);
            Console.WriteLine(newtonSoftJson);

输出结果为:

技术分享

可以看出,实际结果顺序可能不同,但是转换的效果是一样的。

Newtonsoft.Json只需要调用一个方法就能完成JSON的转换,比官方的方法要简洁不少。

.NET和JSON

标签:

原文地址:http://www.cnblogs.com/Richeir/p/5205029.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!