您的位置:首页 > Web前端 > JavaScript

C# .NET利用Newtonsoft.Json来序列化和反序列化对象

2013-11-15 16:06 886 查看
JSON 即 JavaScript Object Natation,它是一种轻量级的数据交换格式,非常适合于服务器与 JavaScript 的交互。和 XML 一样,JSON 也是基于纯文本的数据格式。由于 JSON 天生是为 JavaScript 准备的,因此,JSON 的数据格式非常简单,您可以用 JSON 传输一个简单的 String,Number,Boolean,也可以传输一个数组,或者一个复杂的 Object 对象。

在.NET环境下面,我们使用Json.net来实现JSON数据的序列化和反序列化。

首先下载JSON .NET插件和代码。

然后在项目中进行引用Newtonsoft.Json.dll
添加命名空间:using Newtonsoft.Json;
序列化函数:JsonConvert.SerializeObject(object value),它有个重载方法JsonConvert.SerializeObject(object value, params JsonConverter[] converters)。

反序列化函数:JsonConvert.DeserializeObject(string value, Type type),它有个重载方法JsonConvert.DeserializeObject(string value, Type type, params JsonConverter[] converters)

具体demo如下:

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;

using Newtonsoft.Json;
using Newtonsoft.Json.Linq;

//[Serializable]
public class Person
{
public Person()
{
}

public string Name { get; set; }
public int Age { get; set; }
public string Sex { get; set; }
public DateTime Birthday { get; set; }
}
namespace JsonSharp
{
class Program
{
static void Main(string[] args)
{
int i = 1;
Person person = new Person();
person.Name = "何时富";
person.Age = 20 + i;
person.Birthday = DateTime.Now.AddDays(i);
person.Sex = i % 2 == 0 ? "女" : "男";

// Serializing
string strSerializeJSON = JsonConvert.SerializeObject(person);
Console.WriteLine(strSerializeJSON);

// Deserializing
Person user = (Person)JsonConvert.DeserializeObject(strSerializeJSON, typeof(Person));
Console.WriteLine(user.Sex);
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐