Json的序列化與反序列化
阿新 • • 發佈:2018-12-26
.net
序列化:就是將字串集合(字串物件)轉化為json格式。
反序列化:將json格式的資料串轉換為字串集合。
最近在使用NFine框架做東西的時候,使用到了Json,下面是事例程式碼:
首先是Json類 提供的序列化與反序列化的函式
using Newtonsoft.Json; using Newtonsoft.Json.Converters; using Newtonsoft.Json.Linq; using System.Collections.Generic; using System.Data; namespace NFine.Code { public static class Json { public static object ToJson(this string Json) { return Json == null ? null : JsonConvert.DeserializeObject(Json); } public static string ToJson(this object obj) { var timeConverter = new IsoDateTimeConverter { DateTimeFormat = "yyyy-MM-dd HH:mm:ss" }; return JsonConvert.SerializeObject(obj, timeConverter); } public static string ToJson(this object obj, string datetimeformats) { var timeConverter = new IsoDateTimeConverter { DateTimeFormat = datetimeformats }; return JsonConvert.SerializeObject(obj, timeConverter); } public static T ToObject<T>(this string Json) { return Json == null ? default(T) : JsonConvert.DeserializeObject<T>(Json); } public static List<T> ToList<T>(this string Json) { return Json == null ? null : JsonConvert.DeserializeObject<List<T>>(Json); } public static DataTable ToTable(this string Json) { return Json == null ? null : JsonConvert.DeserializeObject<DataTable>(Json); } public static JObject ToJObject(this string Json) { return Json == null ? JObject.Parse("{}") : JObject.Parse(Json.Replace(" ", "")); } } }
下面是序列化例項:
public string GetJson()
{
TestApp app = new TestApp();
var data = app.GetForm(); data是通過app.GetForm() 得到的一個list<>
return data.ToJson(); 將list字串集合序列化轉化為Json資料 方便後邊的傳輸工作
}
下面是反序列化例項
public List<TestItemsEntity> GetList() { return service.IQueryable().ToList(); service.IQueryable()是一個接收到的Json格式的字串組合 }
上面就是簡單介紹Json序列化與反序列化的大致過程,詳細的只有自己體會才會瞭解的更深。