亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

C#中的DataSet、string、DataTable、對象轉換成Json的實現代碼

2020-01-24 02:27:39
字體:
來源:轉載
供稿:網友

C#中對象,字符串,dataTable、DataReader、DataSet,對象集合轉換成Json字符串方法。

public class ConvertJson {  #region 私有方法  /// <summary>  /// 過濾特殊字符  /// </summary>  /// <param name="s">字符串</param>  /// <returns>json字符串</returns>  private static string String2Json(String s)  {   StringBuilder sb = new StringBuilder();   for (int i = 0; i < s.Length; i++)   {    char c = s.ToCharArray()[i];    switch (c)    {     case '/"':      sb.Append("http:///""); break;     case '//':      sb.Append("http:////"); break;     case '/':      sb.Append("http:///"); break;     case '/b':      sb.Append("http://b"); break;     case '/f':      sb.Append("http://f"); break;     case '/n':      sb.Append("http://n"); break;     case '/r':      sb.Append("http://r"); break;     case '/t':      sb.Append("http://t"); break;     default:      sb.Append(c); break;    }   }   return sb.ToString();  }  /// <summary>  /// 格式化字符型、日期型、布爾型  /// </summary>  /// <param name="str"></param>  /// <param name="type"></param>  /// <returns></returns>  private static string StringFormat(string str, Type type)  {   if (type == typeof(string))   {    str = String2Json(str);    str = "/"" + str + "/"";   }   else if (type == typeof(DateTime))   {    str = "/"" + str + "/"";   }   else if (type == typeof(bool))   {    str = str.ToLower();   }   else if (type != typeof(string) && string.IsNullOrEmpty(str))   {    str = "/"" + str + "/"";   }   return str;  }  #endregion  #region list轉換成JSON  /// <summary>  /// list轉換為Json  /// </summary>  /// <typeparam name="T"></typeparam>  /// <param name="list"></param>  /// <returns></returns>  public static string ListToJson<T>(IList<T> list)  {   object obj = list[0];   return ListToJson<T>(list, obj.GetType().Name);  }  /// <summary>  /// list轉換為json  /// </summary>  /// <typeparam name="T1"></typeparam>  /// <param name="list"></param>  /// <param name="p"></param>  /// <returns></returns>  private static string ListToJson<T>(IList<T> list, string JsonName)  {   StringBuilder Json = new StringBuilder();   if (string.IsNullOrEmpty(JsonName))    JsonName = list[0].GetType().Name;   Json.Append("{/"" + JsonName + "/":[");   if (list.Count > 0)   {    for (int i = 0; i < list.Count; i++)    {     T obj = Activator.CreateInstance<T>();     PropertyInfo[] pi = obj.GetType().GetProperties();     Json.Append("{");     for (int j = 0; j < pi.Length; j++)     {      Type type = pi[j].GetValue(list[i], null).GetType();      Json.Append("/"" + pi[j].Name.ToString() + "/":" + StringFormat(pi[j].GetValue(list[i], null).ToString(), type));      if (j < pi.Length - 1)      {       Json.Append(",");      }     }     Json.Append("}");     if (i < list.Count - 1)     {      Json.Append(",");     }    }   }   Json.Append("]}");   return Json.ToString();  }  #endregion  #region 對象轉換為Json  /// <summary>  /// 對象轉換為json  /// </summary>  /// <param name="jsonObject">json對象</param>  /// <returns>json字符串</returns>  public static string ToJson(object jsonObject)  {   string jsonString = "{";   PropertyInfo[] propertyInfo = jsonObject.GetType().GetProperties();   for (int i = 0; i < propertyInfo.Length; i++)   {    object objectValue = propertyInfo[i].GetGetMethod().Invoke(jsonObject, null);    string value = string.Empty;    if (objectValue is DateTime || objectValue is Guid || objectValue is TimeSpan)    {     value = "'" + objectValue.ToString() + "'";    }    else if (objectValue is string)    {     value = "'" + ToJson(objectValue.ToString()) + "'";    }    else if (objectValue is IEnumerable)    {     value = ToJson((IEnumerable)objectValue);    }    else    {     value = ToJson(objectValue.ToString());    }    jsonString += "/"" + ToJson(propertyInfo[i].Name) + "/":" + value + ",";   }   jsonString.Remove(jsonString.Length - 1, jsonString.Length);   return jsonString + "}";  }  #endregion  #region 對象集合轉換為json  /// <summary>  /// 對象集合轉換為json  /// </summary>  /// <param name="array">對象集合</param>  /// <returns>json字符串</returns>  public static string ToJson(IEnumerable array)  {   string jsonString = "{";   foreach (object item in array)   {    jsonString += ToJson(item) + ",";   }   jsonString.Remove(jsonString.Length - 1, jsonString.Length);   return jsonString + "]";  }  #endregion  #region 普通集合轉換Json  /// <summary>   /// 普通集合轉換Json   /// </summary>   /// <param name="array">集合對象</param>   /// <returns>Json字符串</returns>   public static string ToArrayString(IEnumerable array)  {   string jsonString = "[";   foreach (object item in array)   {    jsonString = ToJson(item.ToString()) + ",";   }   jsonString.Remove(jsonString.Length - 1, jsonString.Length);   return jsonString + "]";  }  #endregion  #region DataSet轉換為Json  /// <summary>   /// DataSet轉換為Json   /// </summary>   /// <param name="dataSet">DataSet對象</param>   /// <returns>Json字符串</returns>   public static string ToJson(DataSet dataSet)  {   string jsonString = "{";   foreach (DataTable table in dataSet.Tables)   {    jsonString += "/"" + table.TableName + "/":" + ToJson(table) + ",";   }   jsonString = jsonString.TrimEnd(',');   return jsonString + "}";  }  #endregion  #region Datatable轉換為Json  /// <summary>    /// Datatable轉換為Json    /// </summary>   /// <param name="table">Datatable對象</param>    /// <returns>Json字符串</returns>    public static string ToJson(DataTable dt)  {   StringBuilder jsonString = new StringBuilder();   jsonString.Append("[");   DataRowCollection drc = dt.Rows;   for (int i = 0; i < drc.Count; i++)   {    jsonString.Append("{");    for (int j = 0; j < dt.Columns.Count; j++)    {     string strKey = dt.Columns[j].ColumnName;     string strValue = drc[i][j].ToString();     Type type = dt.Columns[j].DataType;     jsonString.Append("/"" + strKey + "/":");     strValue = StringFormat(strValue, type);     if (j < dt.Columns.Count - 1)     {      jsonString.Append(strValue + ",");     }     else     {      jsonString.Append(strValue);     }    }    jsonString.Append("},");   }   jsonString.Remove(jsonString.Length - 1, 1);   jsonString.Append("]");   return jsonString.ToString();  }  /// <summary>   /// DataTable轉換為Json    /// </summary>   public static string ToJson(DataTable dt, string jsonName)  {   StringBuilder Json = new StringBuilder();   if (string.IsNullOrEmpty(jsonName))    jsonName = dt.TableName;   Json.Append("{/"" + jsonName + "/":[");   if (dt.Rows.Count > 0)   {    for (int i = 0; i < dt.Rows.Count; i++)    {     Json.Append("{");     for (int j = 0; j < dt.Columns.Count; j++)     {      Type type = dt.Rows[i][j].GetType();      Json.Append("/"" + dt.Columns[j].ColumnName.ToString() + "/":" + StringFormat(dt.Rows[i][j].ToString(), type));      if (j < dt.Columns.Count - 1)      {       Json.Append(",");      }     }     Json.Append("}");     if (i < dt.Rows.Count - 1)     {      Json.Append(",");     }    }   }   Json.Append("]}");   return Json.ToString();  }  #endregion  #region DataReader轉換為Json  /// <summary>    /// DataReader轉換為Json    /// </summary>    /// <param name="dataReader">DataReader對象</param>    /// <returns>Json字符串</returns>   public static string ToJson(DbDataReader dataReader)  {   StringBuilder jsonString = new StringBuilder();   jsonString.Append("[");   while (dataReader.Read())   {    jsonString.Append("{");    for (int i = 0; i < dataReader.FieldCount; i++)    {     Type type = dataReader.GetFieldType(i);     string strKey = dataReader.GetName(i);     string strValue = dataReader[i].ToString();     jsonString.Append("/"" + strKey + "/":");     strValue = StringFormat(strValue, type);     if (i < dataReader.FieldCount - 1)     {      jsonString.Append(strValue + ",");     }     else     {      jsonString.Append(strValue);     }    }    jsonString.Append("},");   }   dataReader.Close();   jsonString.Remove(jsonString.Length - 1, 1);   jsonString.Append("]");   return jsonString.ToString();  }  #endregion }
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久久亚洲欧洲日产国码aⅴ| 亚洲欧美激情在线视频| 国产成人精品一区| 丝袜亚洲欧美日韩综合| 黑人巨大精品欧美一区二区免费| 国产一区二区丝袜| 亚洲精品国产品国语在线| 大胆人体色综合| 97在线视频一区| 国产69精品久久久久久| xx视频.9999.com| 欧美一级免费看| 韩国欧美亚洲国产| 欧美肥老妇视频| 欧美中文字幕视频在线观看| 中文字幕亚洲综合| 欧美成人在线网站| 亚洲石原莉奈一区二区在线观看| 91免费在线视频| 亚洲人成在线观| 国产精品久久久| 亚洲а∨天堂久久精品喷水| 亚洲精品98久久久久久中文字幕| 超在线视频97| 亚洲va欧美va在线观看| 国产一区二区在线播放| 欧美黄色片免费观看| 久国内精品在线| 欧美最猛性xxxxx(亚洲精品)| 中文字幕综合在线| 色综合久久久888| 国外成人在线直播| 国产成人精品久久久| 午夜精品久久久久久久99热| 91久久国产精品| 日韩av一区二区在线观看| 国产欧美一区二区三区四区| 成人激情视频在线播放| 成人乱人伦精品视频在线观看| 国产精品视频一区二区三区四| 亚洲国产天堂久久综合网| 日韩av影院在线观看| 日韩经典一区二区三区| 欧美在线视频网| 国产成人精品视频| 国外成人性视频| 原创国产精品91| 欧美一区三区三区高中清蜜桃| 精品丝袜一区二区三区| 日韩视频欧美视频| 国产亚洲成精品久久| 欧美精品九九久久| 秋霞成人午夜鲁丝一区二区三区| 国产精品一区二区久久久久| 成人夜晚看av| 亚洲成人久久电影| 色偷偷偷亚洲综合网另类| 国产精品www色诱视频| 国产亚洲欧洲高清| 日韩人体视频一二区| 国产精品福利久久久| 亚洲男女性事视频| 国产亚洲xxx| 亚洲成色777777在线观看影院| 性日韩欧美在线视频| 精品一区电影国产| 欧美性猛交xxxx久久久| 亚洲免费视频网站| 九九热这里只有精品免费看| 欧美网站在线观看| 亚洲欧美www| 久久av在线播放| 国产日韩欧美91| 欧美成人免费播放| 日韩天堂在线视频| 国产69久久精品成人看| 国产精品久久久久久久7电影| 精品国产一区二区三区久久久| 狠狠爱在线视频一区| 日本亚洲欧美三级| 精品久久久久久久久久久久久| 久久视频国产精品免费视频在线| 国产在线观看不卡| 成人高清视频观看www| 欧美大秀在线观看| 亚洲一区二区久久久久久| 亚洲精品二三区| 国产精品视频免费在线| 欧美日韩国产一区在线| 中文字幕一精品亚洲无线一区| 亚洲人成绝费网站色www| 国产精品老牛影院在线观看| 97在线视频免费播放| 欧美极品在线视频| 国产欧美日韩精品在线观看| 91在线视频九色| 岛国av一区二区三区| 欧美午夜激情视频| 亚洲人成亚洲人成在线观看| 亚洲国产精品成人va在线观看| 国产成人小视频在线观看| 国语自产在线不卡| 亚洲精品日韩欧美| 日本精品久久中文字幕佐佐木| 中文欧美在线视频| 亚洲高清一区二| 97精品国产97久久久久久| 国产精品久久久久久久久借妻| 国产精品爽爽爽爽爽爽在线观看| 91视频国产一区| 精品无人区乱码1区2区3区在线| 国产精品视频久久| 精品国产电影一区| 国产精品99导航| 92国产精品久久久久首页| 国产精品高潮视频| 亚洲午夜精品久久久久久久久久久久| 亚洲国产精品久久精品怡红院| 国产精品美女主播在线观看纯欲| 国产精品视频精品视频| 美乳少妇欧美精品| 久久久久久有精品国产| 亚洲图片欧美日产| 久久99精品久久久久久琪琪| 亚洲最大成人免费视频| 精品美女国产在线| 欧美性videos高清精品| 日韩av电影手机在线| 欧美电影免费观看| 成人免费自拍视频| 国产视频精品xxxx| 欧美性视频在线| 欧美精品在线观看91| 91国内揄拍国内精品对白| 日产精品久久久一区二区福利| 久久久久久亚洲| 伦理中文字幕亚洲| 91精品国产高清自在线看超| 国产精品视频一区二区高潮| 在线观看91久久久久久| 45www国产精品网站| 91久久精品在线| 久久福利视频导航| 欧美最近摘花xxxx摘花| 性欧美xxxx视频在线观看| 久久精品视频va| 国产精品国产自产拍高清av水多| 亚洲片av在线| 精品久久久久久亚洲国产300| 国产精品一区电影| 国内精品小视频在线观看| 欧美在线激情网| 午夜欧美不卡精品aaaaa| 亚洲精品欧美日韩专区| 久久99青青精品免费观看| 欧美日韩国产成人高清视频| 日韩电影中文字幕一区| 91久久国产综合久久91精品网站| 国产极品jizzhd欧美| 九九九热精品免费视频观看网站| 日韩在线视频免费观看| 中文字幕欧美亚洲| 2021久久精品国产99国产精品| 国产精品老牛影院在线观看|