using System; using Newtonsoft.Json; using Newtonsoft.Json.Converters; namespace WebTest_App { public partial class JsonConvert_WebForm : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { TestClass tc = new TestClass { ID = 1, SendTime = DateTime.Now }; string serializate1 = SerializeToJson(tc); string serializate2 = SerializeToJson2(tc); TestClass tc2 = DerializeToObject(serializate1); } } /// <summary> /// 正常序列化对象并指定日志格式 /// </summary> / // <param name="data"></param> /// <param name="dateTimeFormats"></param> /// <returns></returns> public string SerializeToJson(object data, string dateTimeFormats = "yyyy-MM-dd HH:mm:ss") { var timeConverter = new IsoDateTimeConverter { DateTimeFormat = dateTimeFormats }; return JsonConvert.SerializeObject(data, Formatting.Indented, timeConverter); } /// <summary> /// 正常序列化对象不处理日期格式(/Date(1417104000000)/) /// </summary> /// <param name="data"></param> /// <returns></returns> public string SerializeToJson2(object data) { return JsonConvert.SerializeObject(data); } /// <summary> /// 反序列化字符串 /// </summary> /// <param name="data"></param> /// <returns></returns> public TestClass DerializeToObject(string data) { return JsonConvert.DeserializeObject<TestClass>(data); } } public class TestClass { public int ID { get; set; } public DateTime SendTime { get; set; } } }
转载于:https://my.oschina.net/guanxinsui/blog/983142