jsonHelper
public static class JsonConvertHelper { private static JsonSerializerSettings _jsonSerializerSettings; static JsonConvertHelper() { _jsonSerializerSettings = new JsonSerializerSettings(); _jsonSerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore; } public static string Obj2Json<T>(this T obj, Encoding encoding = null) { string result = string.Empty; if (obj == null) { return result; } try { result = JsonConvert.SerializeObject(obj, _jsonSerializerSettings); return result; } catch (Exception ex) { DebugViewHelper.OutPutScreen("Obj2Json error:" + ex.Message + "_" + ex.StackTrace, ""); return result; } } public static T Json2Obj<T>(this string json) { T result = default(T); try { result = JsonConvert.DeserializeObject<T>(json); return result; } catch (Exception ex) { DebugViewHelper.OutPutScreen("Json2Obj error:" + ex.Message + "_" + ex.StackTrace, ""); DebugHelper.Error(ex); DebugHelper.Error("Json2Obj : 解析数据异常:{0}", json); return result; } } public static object Json2Obj(this string json, Type type) { object result = null; try { result = JsonConvert.DeserializeObject(json, type); return result; } catch (Exception ex) { DebugViewHelper.OutPutScreen("Json2Obj error:" + ex.Message + "_" + ex.StackTrace, ""); DebugHelper.Error(ex); DebugHelper.Error("Json2Obj : 解析数据异常:{0}", json); return result; } } public static T JsonToEntity<T>(this string json, string key = "Records") { T result = default(T); if (string.IsNullOrEmpty(json)) { return result; } try { result = JsonConvert.DeserializeObject<T>(((JArray)JObject.Parse(json)[key]).ToString()); return result; } catch (Exception ex) { DebugViewHelper.OutPutScreen("JsonToEntity error:" + ex.Message + "_" + ex.StackTrace, ""); return result; } } public static string EntityToJson<T>(T entity, string formID) { string result = string.Empty; if (entity == null) { return result; } try { string value = JsonConvert.SerializeObject(entity); result = new JObject { { "FormID", (JToken)formID }, { "Records", (JToken)value } }.ToString(); return result; } catch (Exception ex) { DebugViewHelper.OutPutScreen("EntityToJson error:" + ex.Message + "_" + ex.StackTrace, ""); return result; } } public static object GetValueBykey(this string json, string key) { object result = null; try { JsonConvert.DeserializeObject<Dictionary<string, object>>(json).TryGetValue(key, out result); return result; } catch (Exception ex) { DebugViewHelper.OutPutScreen("GetValueBykey error:" + ex.Message + "_" + ex.StackTrace, ""); return result; } } }

更多精彩