private static void WriteDataRow(System.Text.StringBuilder sb, DataRow row) { sb.Append("{"); foreach (DataColumn dataColumn in row.Table.Columns) { sb.AppendFormat("\"{0}\":", dataColumn.ColumnName); JSONConverter.WriteValue(sb, row[dataColumn]); sb.Append(","); } if (row.Table.Columns.Count > 0) { sb.Length--; } sb.Append("}"); }
private static void WriteEnumerable(System.Text.StringBuilder sb, System.Collections.IEnumerable e) { bool flag = false; sb.Append("["); foreach (object current in e) { JSONConverter.WriteValue(sb, current); sb.Append(","); flag = true; } if (flag) { sb.Length--; } sb.Append("]"); }
private static void WriteHashtable(System.Text.StringBuilder sb, System.Collections.Hashtable e) { bool flag = false; sb.Append("{"); foreach (string text in e.Keys) { sb.AppendFormat("\"{0}\":", text.ToLower()); JSONConverter.WriteValue(sb, e[text]); sb.Append(","); flag = true; } if (flag) { sb.Length--; } sb.Append("}"); }
private static void WriteObject(System.Text.StringBuilder sb, object o) { System.Reflection.MemberInfo[] members = o.GetType().GetMembers(System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.Public); sb.Append("{"); bool flag = false; System.Reflection.MemberInfo[] array = members; for (int i = 0; i < array.Length; i++) { System.Reflection.MemberInfo memberInfo = array[i]; bool flag2 = false; object val = null; if ((memberInfo.MemberType & System.Reflection.MemberTypes.Field) == System.Reflection.MemberTypes.Field) { System.Reflection.FieldInfo fieldInfo = (System.Reflection.FieldInfo)memberInfo; val = fieldInfo.GetValue(o); flag2 = true; } else if ((memberInfo.MemberType & System.Reflection.MemberTypes.Property) == System.Reflection.MemberTypes.Property) { System.Reflection.PropertyInfo propertyInfo = (System.Reflection.PropertyInfo)memberInfo; if (propertyInfo.CanRead && propertyInfo.GetIndexParameters().Length == 0) { val = propertyInfo.GetValue(o, null); flag2 = true; } } if (flag2) { sb.Append("\""); sb.Append(memberInfo.Name); sb.Append("\":"); JSONConverter.WriteValue(sb, val); sb.Append(","); flag = true; } } if (flag) { sb.Length--; } sb.Append("}"); }
public static string DataTable2Json(int totalCount, bool flag, string errmsg, string singleinfo, DataTable dt) { System.Text.StringBuilder stringBuilder = new System.Text.StringBuilder(); if (flag && totalCount > 0 && dt != null && dt.Rows.Count > 0) { stringBuilder.Append(string.Concat(new object[] { "{\"totalCount\":\"", totalCount, "\",\"success\":\"", flag.ToString().ToLower(), "\",\"error\":\"", errmsg, "\",\"singleInfo\":\"", singleinfo, "\",\"dataList\":[" })); JSONConverter.WriteValue(stringBuilder, dt); } else if (string.IsNullOrEmpty(errmsg)) { stringBuilder.Append("{\"success\":\"" + flag.ToString().ToLower() + "\"}"); } else { stringBuilder.Append(string.Concat(new string[] { "{\"success\":\"", flag.ToString().ToLower(), ",\"error\":\"", errmsg, "\"}" })); } return(stringBuilder.ToString()); }
public static string Convert2Json(object o) { System.Text.StringBuilder stringBuilder = new System.Text.StringBuilder(); JSONConverter.WriteValue(stringBuilder, o); return(stringBuilder.ToString()); }