首页 > 代码库 > asp.net对象合并
asp.net对象合并
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | public class com { /// <summary> /// 把参数转为JSON字符串 /// </summary> /// <param name="all">所有的参娄</param> /// <returns>JSON字符串</returns> public static Hashtable StringToJSON( string all) { Hashtable ht = new Hashtable(); string [] arpar = all.Split( ‘&‘ ); foreach ( string p in arpar) ht.Add(p.Split( ‘=‘ )[0], p.Split( ‘=‘ )[1]); return ht; } /// <summary> /// 对象合并之后的JSON字符串 /// </summary> /// <param name="str">参数对象</param> /// <param name="obj">原始对象</param> /// <returns>合并后的字符串</returns> public static string extend( object obj, Hashtable hashTable) { Hashtable ht = new Hashtable(); List< string > listobj = new List< string >(); foreach (PropertyInfo pi in obj.GetType().GetProperties()) listobj.Add(pi.Name); List< string > listpar = new List< string >(); foreach (DictionaryEntry de in hashTable) listpar.Add(de.Key.ToString()); //当存在的时候添加新值 foreach (DictionaryEntry de in hashTable) if (listobj.Contains(de.Key.ToString())) ht.Add(de.Key.ToString(), de.Value.ToString()); //当不存在的时候添加默认值 foreach (PropertyInfo pi in obj.GetType().GetProperties()) if (!listpar.Contains(pi.Name)) ht.Add(pi.Name, pi.GetValue(obj, null )); JavaScriptSerializer serializer = new JavaScriptSerializer(); return new JavaScriptSerializer().Serialize(ht); } } |
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。