public static string getKeys(JObject jo,string prekey) { string ret=""; Dictionary<string, object> dc = jo.ToObject<Dictionary<string, object>>(); foreach (string key in dc.Keys) { if (Object.ReferenceEquals(dc[key].GetType(), jo.GetType())) { if (prekey == "") ret += getKeys((JObject)dc[key], key); else ret += getKeys((JObject)dc[key], prekey + "_" + key); } else { if (prekey == "") { ret += "`" + key + "`" + ","; } else { ret += "`" + prekey + "_" + key + "`" + ","; } } } return ret; }
private object convertJobjectToType(JObject jo, Type t) { MethodInfo mi = jo.GetType().GetMethod("ToObject", new Type[] { }); MethodInfo gmi = mi.MakeGenericMethod(t); return gmi.Invoke(jo, new object[] { }); }
public static string getValues(JObject jo) { string ret = ""; Dictionary<string, object> dc = jo.ToObject<Dictionary<string, object>>(); foreach (string key in dc.Keys) { if (Object.ReferenceEquals(dc[key].GetType(), jo.GetType())) { ret += getValues((JObject)dc[key]); } else ret += "'"+dc[key].ToString()+"'"+","; } return ret; }