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