专业网站建设品牌,十四年专业建站经验,服务6000+客户--广州京杭网络
免费热线:400-683-0016      微信咨询  |  联系我们

c# Json List DataTable 数据相互转换

当前位置:网站建设 > 技术支持
资料来源:网络整理       时间:2023/2/14 0:15:46       共计:3623 浏览

最近在项目中用到的相关Json的数据转换

 

List<T>转Json

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 public static string Obj2Json<T>(T data) {     try     {         System.Runtime.Serialization.Json.DataContractJsonSerializer serializer = new System.Runtime.Serialization.Json.DataContractJsonSerializer(data.GetType());         using (MemoryStream ms = new MemoryStream())         {             serializer.WriteObject(ms, data);             return Encoding.UTF8.GetString(ms.ToArray());         }     }     catch     {         return null;     } }

Json转List<T>

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 public static Object Json2Obj(String json,Type t) {     try     {         System.Runtime.Serialization.Json.DataContractJsonSerializer serializer = new System.Runtime.Serialization.Json.DataContractJsonSerializer(t);         using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(json)))         {                          return  serializer.ReadObject(ms);         }     }     catch     {         return null;     } }
 

DataTable 转Json

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 public static string DataTable2Json(DataTable dt) {     if (dt.Rows.Count == 0)     {         return "";     }       StringBuilder jsonBuilder = new StringBuilder();     // jsonBuilder.Append("{");     //jsonBuilder.Append(dt.TableName.ToString());      jsonBuilder.Append("[");//转换成多个model的形式     for (int i = 0; i < dt.Rows.Count; i++)     {         jsonBuilder.Append("{");         for (int j = 0; j < dt.Columns.Count; j++)         {             jsonBuilder.Append("\"");             jsonBuilder.Append(dt.Columns[j].ColumnName);             jsonBuilder.Append("\":\"");             jsonBuilder.Append(dt.Rows[i][j].ToString());             jsonBuilder.Append("\",");         }         jsonBuilder.Remove(jsonBuilder.Length - 1, 1);         jsonBuilder.Append("},");     }     jsonBuilder.Remove(jsonBuilder.Length - 1, 1);     jsonBuilder.Append("]");     //  jsonBuilder.Append("}");     return jsonBuilder.ToString(); }

单个对象转JSON

 

1 2 3 4 5 6 7 8 9 public static T Json2Obj<T>(string json) {     T obj = Activator.CreateInstance<T>();     using (System.IO.MemoryStream ms = new System.IO.MemoryStream(System.Text.Encoding.UTF8.GetBytes(json)))     {         System.Runtime.Serialization.Json.DataContractJsonSerializer serializer = new System.Runtime.Serialization.Json.DataContractJsonSerializer(obj.GetType());         return (T)serializer.ReadObject(ms);     } }
版权说明:
本网站凡注明“广州京杭 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
·上一条:C#如和将List<>转为Json格式 | ·下一条:如何让手机访问PC网站的用户就会自动跳转到微官网

Copyright © 广州京杭网络科技有限公司 2005-2024 版权所有    粤ICP备16019765号 

广州京杭网络科技有限公司 版权所有