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

posted on 2014-04-04 15:13  萧轩若怀  阅读(915)  评论(0编辑  收藏  举报

导航