国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語(yǔ)言|JavaScript|易語(yǔ)言|vb.net|

服務(wù)器之家 - 編程語(yǔ)言 - ASP.NET教程 - asp.net中各種類型的JSON格式化

asp.net中各種類型的JSON格式化

2019-09-24 10:40asp.net開發(fā)網(wǎng) ASP.NET教程

asp.net中各種類型的JSON格式化實(shí)現(xiàn)代碼,需要的朋友可以參考下。

代碼如下:


using System; 
using System.Collections.Generic; 
using System.Text; 
using System.Data; 
using System.Reflection; 
using System.Collections; 
using System.Data.Common; 

public class ConvertJson 

#region 私有方法 
/// <summary> 
/// 過濾特殊字符 
/// </summary> 
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("\\\""); 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; 


return sb.ToString(); 


/// <summary> 
/// 格式化字符型、日期型、布爾型 
/// </summary> 
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轉(zhuǎn)換成Json 
/// <summary> 
/// List轉(zhuǎn)換成Json 
/// </summary> 
public static string ListToJson<T>(IList<T> list) 

object obj = list[0]; 
return ListToJson<T>(list, obj.GetType().Name); 


/// <summary> 
/// List轉(zhuǎn)換成Json 
/// </summary> 
public 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 對(duì)象轉(zhuǎn)換為Json 
/// <summary> 
/// 對(duì)象轉(zhuǎn)換為Json 
/// </summary> 
/// <param name="jsonObject">對(duì)象</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 對(duì)象集合轉(zhuǎn)換Json 
/// <summary> 
/// 對(duì)象集合轉(zhuǎn)換Json 
/// </summary> 
/// <param name="array">集合對(duì)象</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 普通集合轉(zhuǎn)換Json 
/// <summary> 
/// 普通集合轉(zhuǎn)換Json 
/// </summary> 
/// <param name="array">集合對(duì)象</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轉(zhuǎn)換為Json 
/// <summary> 
/// DataSet轉(zhuǎn)換為Json 
/// </summary> 
/// <param name="dataSet">DataSet對(duì)象</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轉(zhuǎn)換為Json 
/// <summary> 
/// Datatable轉(zhuǎn)換為Json 
/// </summary> 
/// <param name="table">Datatable對(duì)象</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轉(zhuǎn)換為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轉(zhuǎn)換為Json 
/// <summary> 
/// DataReader轉(zhuǎn)換為Json 
/// </summary> 
/// <param name="dataReader">DataReader對(duì)象</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 

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 日本精品一区 | 欧美精品一区视频 | 精品99视频| 亚洲区视频在线观看 | 亚洲午夜免费视频 | 视频一区二区国产 | 国产欧美精品区一区二区三区 | 国产毛片久久久久 | 黄色在线免费观看 | 日韩成人在线一区 | 国产精品区一区二区三区 | 91夜夜操| 久久精品视频网站 | 久久国| 国产成人久久精品一区二区三区 | 天天综合天天做天天综合 | 欧美一级视频 | 一级黄色大片免费 | 色综合久久88色综合天天6 | 欧美日韩精品一区二区三区 | 亚洲国产aⅴ成人精品无吗 黄色免费在线看 | 午夜精品视频在线观看 | 国产精品久久久久久久久久久天堂 | 精品国产免费久久久久久尖叫 | 一区二区三区精品视频 | 成人片免费视频 | 国产日韩一区 | 天天干天天操 | 欧美精品成人一区二区在线 | 久久精品一区二区三区四区 | 欧美成人激情 | 国产黄色片一级 | 欧美日韩视频在线观看免费 | 欧美成人二区 | 免费又黄又爽又猛大片午夜 | 91精品久久久久久 | 亚洲性在线| 日韩一区二区三区四区 | 亚洲精品免费在线 | 精品视频一区二区 | 国产视频一区二区 |