標籤:blog class code c java ext
?
| 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); } } |