首先點擊連接
http://sourceforge.net/projects/csjson/?source=dlp 下載JSON .NET插件和代碼。
然后在項目中進行引用Newtonsoft.Json.dll
添加命名空間:using Newtonsoft.Json;
下面介紹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)
這兩個方法可以實現基本的序列化和反序列化要求,請看下面的例子:
首先我們先建一個Person類代碼如下:
public class Person
{
private string name;
public string Name
{
get { return name; }
set { name = value; }
}
private int age;
public int Age
{
get { return age; }
set { age = value; }
}
}
1)序列化
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Newtonsoft.Json;
namespace JSONnet
{
public partial class test : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Person person = new Person();
person.Name = "GoldenEasy";
person.Age = 25;
string strSerializeJSON = JsonConvert.SerializeObject(person);
Response.Write(strSerializeJSON);
}
}
}
輸出結果:
{"Name":"GoldenEasy","Age":25}
2)反序列化
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Newtonsoft.Json;
namespace JSONnet
{
public partial class test : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Person person = new Person();
person.Name = "GoldenEasy";
person.Age = 25;
string strSerializeJSON = JsonConvert.SerializeObject(person);
Person user = (Person)JsonConvert.DeserializeObject(strSerializeJSON, typeof(Person));
Response.Write(user.Name);
}
}
}
輸出結果為:GoldenEasy