将对象转换为json字符串
来源:互联网 发布:福建晨曦软件下载 编辑:程序博客网 时间:2024/05/16 07:41
#region sta+ 对于字典数据生成json字符串 /// <summary> /// 对于字典数据生成json字符串 /// </summary> /// <param name="value"></param> /// <returns></returns> public static string GetJson(Dictionary<string, string> value) { StringBuilder sb = new StringBuilder(); sb.Append("{"); foreach (var item in value.Keys) { sb.Append("\"" + item + "\":\"" + value[item] + "\""); sb.Append(","); } sb.Remove(sb.Length - 1, 1).Append("}"); return sb.ToString(); } #endregion #region sta+ 集合生成json /// <summary> /// 集合生成json /// </summary> /// <returns></returns> public static string ListObjectToJson<T>(List<T> list) { StringBuilder sb = new StringBuilder(); if (list == null) { return "[]"; } if (list.Count > 0) { Type type = list[1].GetType(); if (list.Count == 1) { sb.Append(ObjectToJson<T>(list[0])); } else { sb.Append("["); foreach (T item in list) { sb.Append(ObjectToJson<T>(item)); sb.Append(","); } sb.Remove(sb.Length - 1, 1).Append("]"); } } else { sb.Append("[]"); } return sb.ToString(); } #endregion #region sta+ 生成对象的json格式 /// <summary> /// 生成对象的json格式 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="tt"></param> /// <returns></returns> public static string ObjectToJson<T>(T tt) { StringBuilder sb = new StringBuilder(); Type t = tt.GetType(); PropertyInfo[] proterties = t.GetProperties(BindingFlags.Instance | BindingFlags.Public); if (proterties.Length <= 0) { return default(string); } sb.Append("{"); foreach (var item in proterties) //属性值获取 { string name = item.Name; var value = item.GetValue(tt, null); sb.Append("\"" + name + "\":"); //是否是值类型或者是string类型 if (item.PropertyType.IsValueType || item.PropertyType.Name.ToLowerInvariant().StartsWith("string")) { if ((value is DateTime) && Convert.ToDateTime(value).Year == 1) { sb.Append("\"\""); } else { sb.Append("\"" + value + "\""); } sb.Append(","); } else { //是泛型类(暂不能判断是集合类)未实现 if (item.PropertyType.IsClass && item.PropertyType.IsGenericType) { List<T> list = value as List<T>; sb.Append(ListObjectToJson<T>(list)); // string typename = item.PropertyType.GetGenericArguments()[0].Name; //ListType(value, typename,ref sb); }//如果是数组 else if (item.PropertyType.IsClass && item.PropertyType.IsArray) { sb.Append("["); foreach (var i in (value as Array)) { sb.Append(i); sb.Append(","); } sb.Remove(sb.Length - 1, 1).Append("]"); } else { ObjectToJson(value); } sb.Append(","); } } sb.Remove(sb.Length - 1, 1).Append("}"); return sb.ToString(); } #endregion
0 0
- 将.Net对象转换为Json字符串
- JS 将JSON对象转换为字符串
- 将json对象转换为字符串
- 将JSON字符串转换为String对象
- 将对象转换为json字符串
- JS 将JSON对象转换为字符串
- js 将字符串转换为json对象
- 将字符串转换为json对象和将json对象转换为json字符串
- 利用jquery将json字符串转换为json对象
- js 将json字符串转换为json对象
- js 将json字符串转换为json对象
- 将json合适字符串转换为json对象
- js 将json字符串转换为json对象
- js 将json字符串转换为json对象
- js 将json字符串转换为json对象
- js 将json字符串转换为json对象
- JSON-lib框架,将对象转换为json字符串
- js 将json字符串转换为json对象
- Add Two Numbers(LeetCode)
- C语言控制台窗口图形界面编程(四):文本输出
- Cisco 2940交换机电源故障维修
- 怎么做网站推广-网站推广100种方法
- UIRefreshControl iOS6 和 iOS7的风格
- 将对象转换为json字符串
- fedora14 编译arm Linux make menuconfig error处理方法
- SQLServer中数据加密方法
- 阻塞状态的recv返回值
- Java 中的缓存
- IQ技术资料收集
- Save and read double array in a binary file
- Intro to Apache Maven
- Android数据的四种存储方式之SharedPreferences