public string ToJson(Type objType, object obj, JsonSerializeOptions jsonSerializeOptions = null) { jsonSerializeOptions = jsonSerializeOptions ?? defOptions; JsonSerializerSettings settings = jsonSerializeOptions.IgnoreDefaultValues ? settingsIgnoreDefaults : settingsIncludeDefaults; settings.ContractResolver = defCintractResolver; return(JsonConvert.SerializeObject( obj, objType, jsonSerializeOptions.WithNormalFormating ? Formatting.Indented : new Formatting(), settings )); }
/// <summary> /// Если тип IConvertible, то будет конвертирован через Convert.ToString, /// иначе - сериализирован в json. /// </summary> public string ToConvertibleOrJson(object obj, JsonSerializeOptions jsonSerializeOptions = null) { Type objType = obj?.GetType(); if (obj != null && typeof(IConvertible).IsAssignableFrom(objType)) { return(Convert.ToString(obj)); } else { return(ToJson(objType, obj, jsonSerializeOptions)); } }
public string ToJson <T>(T obj, JsonSerializeOptions jsonSerializeOptions = null) { return(ToJson(typeof(T), obj, jsonSerializeOptions)); }