Newtonsoft.Json 是.net 下序列化成Json和把Json反序列化为对象的一个框架。
框架地址: https://www.newtonsoft.com/json
直接上代码:
对象或集合 转 json字符串
//转成json string json = JsonConvert.SerializeObject(users, Formatting.Indented);
json 转 集合(list)
//转换集合 var jArray = JsonConvert.DeserializeObject<List<User>>(myStr);
json 转 对象
//转换对象 var jObject = JsonConvert.DeserializeObject<User>(myStr);
完整代码:
1 using Newtonsoft.Json; 2 using Newtonsoft.Json.Linq; 3 using System.Collections.Generic; 4 using System.Data; 5 6 namespace StudentManagerMvc.Common.Json 7 { 8 public static class JsonHelper 9 { 10 /// <summary> 11 /// Json To Object 12 /// </summary> 13 /// <param name="json">Json</param> 14 /// <returns>Object</returns> 15 public static object ToObjct(this string json) 16 { 17 return json==null?null:JsonConvert.DeserializeObject(json); 18 } 19 /// <summary> 20 /// Object To Json 21 /// </summary> 22 /// <param name="obj">Object</param> 23 /// <returns>Json</returns> 24 public static string ToJson(this object obj) 25 { 26 return JsonConvert.SerializeObject(obj); 27 } 28 /// <summary> 29 /// Json To Object T 30 /// </summary> 31 /// <typeparam name="T"></typeparam> 32 /// <param name="Json"></param> 33 /// <returns></returns> 34 public static T ToObject<T>(this string json) 35 { 36 return json == null ? default(T) : JsonConvert.DeserializeObject<T>(json); 37 } 38 /// <summary> 39 /// Json To List 40 /// </summary> 41 /// <typeparam name="T"></typeparam> 42 /// <param name="Json"></param> 43 /// <returns></returns> 44 public static List<T> ToList<T>(this string json) 45 { 46 return json == null ? null : JsonConvert.DeserializeObject<List<T>>(json); 47 } 48 /// <summary> 49 /// Json To Table 50 /// </summary> 51 /// <param name="Json"></param> 52 /// <returns></returns> 53 public static DataTable ToTable(this string json) 54 { 55 return json == null ? null : JsonConvert.DeserializeObject<DataTable>(json); 56 } 57 } 58 }