C#将对象转换为JSON和将JSON转换为对象

在.Net中内置了读写Json的对象就是 DataContractJsonSerializer 和 JavaScriptSerializer这两个。但是这个是在.Net 3.5之后才支持的。

要使用JavaScriptSerializer这个对象首先需要引用名称空间:

using System.Web.Script.Serialization;

下面是演示代码演示将C#对象和JSON的相互转换:

public class Person

{

    public String Name { get; set; }

    public Int32 Age { get; set; }

    public Decimal Wage { get; set; }

}

public partial class _Default : System.Web.UI.Page

{

    protected void Page_Load(object sender, EventArgs e)

    {

        JavaScriptSerializer sr = new JavaScriptSerializer();

        Person p = new Person()

        {

            Name = "Job",

            Age = 12,

            Wage = 234

        };

        String result = sr.Serialize(p);//将一个p对象转换为JSON字符串

        Response.Write(result + "<br/>");

        //将一个JSON字符串转换为C#对象

        Person p1 = sr.Deserialize(result, p.GetType()) as Person;

        Response.Write(p1.Name + " " + p1.Age + " " + p1.Wage);

    }

}

 运行结果为:

 {"Name":"Job","Age":12,"Wage":234}
Job 12 234

你可能感兴趣的:(json)