Asp.net常用开发方法之DataTable/DataReader转Json格式代码
2024-10-12 13:49:54
public static string JsonParse(OleDbDataReader dataReader) //DataRead转json { StringBuilder jsonString = new StringBuilder(); jsonString.Append("["); while (dataReader.Read()) { jsonString.Append("{"); ; i < dataReader.FieldCount; i++) { Type type = dataReader.GetFieldType(i); string strKey = dataReader.GetName(i); string strValue = dataReader[i].ToString(); jsonString.Append("\"" + strKey + "\":"); strValue = JsonFormat(strValue, type); ) { jsonString.Append(strValue + ","); } else { jsonString.Append(strValue); } } jsonString.Append("},"); } dataReader.Close(); jsonString.Remove(jsonString.Length - , ); jsonString.Append("]"); string rv = jsonString.ToString(); if (rv == "]") { rv = ""; } return jsonString.ToString(); } public static string JsonParse(DataTable dt) //DataTable转json { DataRowCollection drc = dt.Rows; ) { return ""; } StringBuilder jsonString = new StringBuilder(); jsonString.Append("["); ; i < drc.Count; i++) { jsonString.Append("{"); ; 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 = JsonFormat(strValue, type); ) { jsonString.Append(strValue + ","); } else { jsonString.Append(strValue); } } jsonString.Append("},"); } jsonString.Remove(jsonString.Length - , ); jsonString.Append("]"); return jsonString.ToString(); } public static string JsonFormat(string str, Type type) { if (type == typeof(string)) { StringBuilder sb = new StringBuilder(); ; i < str.Length; i++) { char c = str.ToCharArray()[i]; switch (c) { case '\"': sb.Append("\\\""); break; case '\\': sb.Append("\\\\"); break; case '/': sb.Append("\\/"); break; case '\b': sb.Append("\\b"); break; case '\f': sb.Append("\\f"); break; case '\n': sb.Append("\\n"); break; case '\r': sb.Append("\\r"); break; case '\t': sb.Append("\\t"); break; default: sb.Append(c); break; } } str = sb.ToString(); str = "\"" + str + "\""; } else if (type == typeof(DateTime)) { if (IsDateTime(str)) { DateTime dt = DateTime.Parse(str); str = ].ToString() + "\""; } else { str = "\"" + str + "\""; } // str = + str + ; } else { str = "\"" + str + "\""; } return str; } public static bool IsDateTime(string str) //是否是日期格式(包含时间) { if (string.IsNullOrEmpty(str)) { return false; } //日期 ) { return IsDate(str); } else { string[] Astr = str.Split(' '); //日期+时间 ) { ]) && System.Text.RegularExpressions.Regex.IsMatch(Astr[], @"^(20|21|22|23|[0-1]?\d):[0-5]?\d:[0-5]?\d$"); } else { return false; } } } public static bool IsTime(string StrSource) { return Regex.IsMatch(StrSource, @"^((20|21|22|23|[0-1]?\d):[0-5]?\d:[0-5]?\d)$"); }
最新文章
- Docker - 入门
- 仅此一文让你明白ASP.NET MVC 之View的显示(仅此一文系列二)
- .NET中表单的JS验证
- 第二章 搭建Android开发环境--读书笔记
- PetaPoco 批量插入数据
- PHP文件操作 读取与写入
- 13. 星际争霸之php设计模式--正面模式
- 【python】浅谈enumerate 函数
- iOS开发--提交github代码
- 正则应用—queryURLParameter()
- android 逆向project smail 语法学习
- sqlite3触发器的使用
- 关于 JAVA 中使用 Preferences 读写注册表时要注意的地方
- Mysql删除表格之后,进行恢复
- 跟着刚哥梳理java知识点——深入理解String类(九)
- 转:rabbitMQ 安装与管理
- Thymeleaf利用layout.html文件生成页面布局框架
- 精进之路之CAS
- java面试问题收集(2)
- Excel公式笔记