public JsonSerializationOptions(NullValueHandling nullValueHandling, MissingMemberHandling missingMemberHandling, ReferenceLoopHandling referenceLoopHandling) { NullValueHandling = nullValueHandling; MissingMemberHandling = missingMemberHandling; ReferenceLoopHandling = referenceLoopHandling; }
public static void ConfigureCamelCase( this JsonMediaTypeFormatter formatter, ReferenceLoopHandling referenceLoopHandling = ReferenceLoopHandling.Ignore, DateTimeZoneHandling dateTimeZoneHandling = DateTimeZoneHandling.Utc, NullValueHandling nullValueHandling = NullValueHandling.Ignore, PreserveReferencesHandling preserveReferencesHandling = PreserveReferencesHandling.None, bool useDataContractJsonSerializer = false, bool useJsonMediaTypeForHtmlHeaderValue = true) { formatter.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver(); formatter.SerializerSettings.Converters.Add(new StringEnumConverter { CamelCaseText = true }); formatter.SerializerSettings.ReferenceLoopHandling = referenceLoopHandling; formatter.SerializerSettings.DateTimeZoneHandling = dateTimeZoneHandling; formatter.SerializerSettings.NullValueHandling = nullValueHandling; formatter.SerializerSettings.PreserveReferencesHandling = preserveReferencesHandling; formatter.UseDataContractJsonSerializer = useDataContractJsonSerializer; if (useJsonMediaTypeForHtmlHeaderValue) { formatter.MediaTypeMappings.Add(new RequestHeaderMapping("Accept", "text/html", StringComparison.InvariantCultureIgnoreCase, true, "application/json")); } }
/// <summary> /// Initializes a new instance of the <see cref="JsonSerializer"/> class. /// </summary> public JsonSerializer() { _referenceLoopHandling = ReferenceLoopHandling.Error; _missingMemberHandling = MissingMemberHandling.Error; _nullValueHandling = NullValueHandling.Include; _objectCreationHandling = ObjectCreationHandling.Auto; }
/// <summary> /// Extends the ToJsonString for all objects /// </summary> /// <param name="obj">The Object</param> /// <param name="handleLoopReference">The handler</param> /// <returns>The string json representation of the object</returns> public static string ToJsonString(this object obj, ReferenceLoopHandling handleLoopReference = ReferenceLoopHandling.Error) { new CamelCasePropertyNamesContractResolver(); return(JsonConvert.SerializeObject(obj, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore, ReferenceLoopHandling = handleLoopReference, ContractResolver = new CamelCasePropertyNamesContractResolver() })); }
public static T ImportarJson <T>(string path, string nombreFichero, ReferenceLoopHandling refLoopHdl, bool log = true) { string filePath = path + nombreFichero + JSONEXT; T datos = default(T); if (File.Exists(filePath)) { string dataAsJson = File.ReadAllText(filePath); datos = JsonConvert.DeserializeObject <T>(dataAsJson //Por si da este error... , new JsonSerializerSettings { ReferenceLoopHandling = refLoopHdl } ); if (log) { Debug.Log("Se han importado los datos del archivo '" + nombreFichero + JSONEXT + "'."); } } else { Debug.LogError("No se ha encontrado el archivo con el nombre '" + nombreFichero + JSONEXT + "'."); } return(datos); }
public static void ExportarJson <T>(T datos, string path, string nombreFichero, ReferenceLoopHandling refLoopHdl, bool log = true) { string filePath = path + nombreFichero + JSONEXT; if (!Directory.Exists(path)) { Directory.CreateDirectory(path); Debug.Log("Se ha creado el directorio en el path: " + path); } string dataAsJson = ""; dataAsJson += JsonConvert.SerializeObject(datos, Formatting.Indented //Por si da este error... , new JsonSerializerSettings { ReferenceLoopHandling = refLoopHdl } ); File.WriteAllText(filePath, dataAsJson); if (log) { Debug.Log("Se han exportado los datos del archivo '" + nombreFichero + JSONEXT + "'."); } }
public static string ToJson <T>(this T lista, ReferenceLoopHandling referenceLoopHandling) { return(lista.ToJson(new JsonSerializerSettings { ReferenceLoopHandling = referenceLoopHandling })); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddIdentity <StoreUser, IdentityRole>(cfg => { cfg.User.RequireUniqueEmail = true; }).AddEntityFrameworkStores <TigerContext>(); services.AddAuthentication() .AddCookie() .AddJwtBearer(cfg => { cfg.TokenValidationParameters = new TokenValidationParameters() { ValidIssuer = Configuration["Tokens:Issuer"], ValidAudience = Configuration["Tokens:Audience"], IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(Configuration["Tokens:Key"])) }; }); services.AddDbContext <TigerContext>(cfg => { cfg.UseSqlServer(Configuration.GetConnectionString("TigerConnectionString")); }); services.AddControllersWithViews(); services.AddTransient <TigerSeeder>(); //code added services.AddAutoMapper(Assembly.GetExecutingAssembly()); //code added services.AddScoped <ITigerRepository, TigerRepository> (); //code added services.AddMvc().AddJsonOptions(opt => JsonSerializerOptions = Newtonsoft.Json.ReferenceLoopHandling.Ignore); }
private static string GetObjectContent(object obj, ReferenceLoopHandling referenceLoopHandling = ReferenceLoopHandling.Ignore) { var jsonSettings = new JsonSerializerSettings { ContractResolver = new CamelCasePropertyNamesContractResolver(), ReferenceLoopHandling = referenceLoopHandling }; return(JsonConvert.SerializeObject(obj, Formatting.Indented, jsonSettings)); }
/// <summary> /// Initializes a new instance of the <see cref="JsonSerializer"/> class. /// </summary> public JsonSerializer() { _referenceLoopHandling = JsonSerializerSettings.DefaultReferenceLoopHandling; _missingMemberHandling = JsonSerializerSettings.DefaultMissingMemberHandling; _nullValueHandling = JsonSerializerSettings.DefaultNullValueHandling; _defaultValueHandling = JsonSerializerSettings.DefaultDefaultValueHandling; _objectCreationHandling = JsonSerializerSettings.DefaultObjectCreationHandling; }
/// <summary> /// Initializes a new instance of the <see cref="JsonSerializer"/> class. /// </summary> public JsonSerializer() { _referenceLoopHandling = JsonSerializerSettings.DefaultReferenceLoopHandling; _missingMemberHandling = JsonSerializerSettings.DefaultMissingMemberHandling; _nullValueHandling = JsonSerializerSettings.DefaultNullValueHandling; _defaultValueHandling = JsonSerializerSettings.DefaultDefaultValueHandling; _objectCreationHandling = JsonSerializerSettings.DefaultObjectCreationHandling; }
public IgnoreThisConverter(JsonSerializer serializer, JsonConverter converter) { this.serializer = serializer; this.saveConverter = converter; this.saveLoophandling = serializer.ReferenceLoopHandling; serializer.ReferenceLoopHandling = ReferenceLoopHandling.Serialize; this.saveIndex = serializer.Converters.IndexOf(converter); serializer.Converters.RemoveAt(saveIndex); }
/// <summary/> public JsonContent(object obj, NullValueHandling nullHandling = NullValueHandling.Ignore, ReferenceLoopHandling loopHandling = ReferenceLoopHandling.Ignore) : base(JsonConvert.SerializeObject(obj, new JsonSerializerSettings { NullValueHandling = nullHandling, ReferenceLoopHandling = loopHandling }), Encoding.UTF8, "application/json") { }
public JsonSerializer(TypeNameHandling typeNameHandling, ReferenceLoopHandling referenceLoopHandling) { JsonConvert.DefaultSettings = JsonConvert.DefaultSettings ?? new Func <JsonSerializerSettings>(() => new JsonSerializerSettings() { TypeNameHandling = typeNameHandling, ReferenceLoopHandling = referenceLoopHandling }); }
public static string SerializeToJson(object obj, bool indented, ReferenceLoopHandling referenceLoopHandling) { var settings = new JsonSerializerSettings(); settings.Formatting = indented ? Newtonsoft.Json.Formatting.Indented : Newtonsoft.Json.Formatting.None; settings.ReferenceLoopHandling = referenceLoopHandling; settings.ContractResolver = new CamelCasePropertyNamesContractResolver(); return(JsonConvert.SerializeObject(obj, settings)); }
public static ActionResult ToJsonResult(this object obj, ReferenceLoopHandling HandleLoopReference = ReferenceLoopHandling.Error) { var content = new ContentResult(); content.Content = JsonConvert.SerializeObject(obj, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore, ReferenceLoopHandling = HandleLoopReference }); content.ContentType = "application/json"; return(content); }
/// <summary> /// Initializes a new instance of the <see cref="JsonSerializer"/> class. /// </summary> /// <param name="typeNameHandling">The type name handling.</param> /// <param name="referenceLoopHandling">The reference loop handling.</param> /// <param name="ignoreNulls">if set to <c>true</c> [ignore nulls].</param> /// <param name="contractResolver">The contract resolver.</param> public JsonSerializer(TypeNameHandling typeNameHandling, ReferenceLoopHandling referenceLoopHandling, bool ignoreNulls = true, IContractResolver contractResolver = null) { this.Settings = new JsonSerializerSettings() { TypeNameHandling = typeNameHandling, ReferenceLoopHandling = referenceLoopHandling, NullValueHandling = ignoreNulls ? NullValueHandling.Ignore : NullValueHandling.Include, ContractResolver = contractResolver }; }
public BeetleApiConfig(NullValueHandling nullValueHandling, TypeNameHandling typeNameHandling = TypeNameHandling.Objects, Formatting formatting = Formatting.Indented, ReferenceLoopHandling referenceLoopHandling = ReferenceLoopHandling.Ignore, PreserveReferencesHandling preserveReferencesHandling = PreserveReferencesHandling.Objects, DateTimeZoneHandling dateTimeZoneHandling = DateTimeZoneHandling.Local) : base(nullValueHandling, typeNameHandling, formatting, referenceLoopHandling, preserveReferencesHandling, dateTimeZoneHandling) { }
public JsonSerializer(TypeNameHandling typeNameHandling, ReferenceLoopHandling referenceLoopHandling, bool ignoreNulls = true) { JsonConvert.DefaultSettings = JsonConvert.DefaultSettings ?? new Func <JsonSerializerSettings>(() => new JsonSerializerSettings() { TypeNameHandling = typeNameHandling, ReferenceLoopHandling = referenceLoopHandling, NullValueHandling = ignoreNulls ? NullValueHandling.Ignore : NullValueHandling.Include }); }
/// <summary> /// Initializes a new instance of the <see cref="JsonSerializer"/> class. /// </summary> public JsonSerializer() { _referenceLoopHandling = JsonSerializerSettings.DefaultReferenceLoopHandling; _missingMemberHandling = JsonSerializerSettings.DefaultMissingMemberHandling; _nullValueHandling = JsonSerializerSettings.DefaultNullValueHandling; _defaultValueHandling = JsonSerializerSettings.DefaultDefaultValueHandling; _objectCreationHandling = JsonSerializerSettings.DefaultObjectCreationHandling; _preserveReferencesHandling = JsonSerializerSettings.DefaultPreserveReferencesHandling; _typeNameHandling = JsonSerializerSettings.DefaultTypeNameHandling; _binder = DefaultSerializationBinder.Instance; }
/// <summary> /// 序列化为json /// </summary> /// <typeparam name="T"></typeparam> /// <param name="obj"></param> /// <param name="referenceLoopHandling">默认移除对象之间循环引用,避免序列化出错</param> /// <returns></returns> public static string ToJson <T>(this T obj, ReferenceLoopHandling referenceLoopHandling = ReferenceLoopHandling.Ignore) where T : class { //移除循环引用 var setting = new JsonSerializerSettings { ReferenceLoopHandling = referenceLoopHandling }; return(JsonConvert.SerializeObject(obj, setting)); }
/// <summary> /// Initializes a new instance of the <see cref="JsonSerializer"/> class. /// </summary> public JsonSerializer() { _referenceLoopHandling = JsonSerializerSettings.DefaultReferenceLoopHandling; _missingMemberHandling = JsonSerializerSettings.DefaultMissingMemberHandling; _nullValueHandling = JsonSerializerSettings.DefaultNullValueHandling; _defaultValueHandling = JsonSerializerSettings.DefaultDefaultValueHandling; _objectCreationHandling = JsonSerializerSettings.DefaultObjectCreationHandling; _preserveReferencesHandling = JsonSerializerSettings.DefaultPreserveReferencesHandling; _typeNameHandling = JsonSerializerSettings.DefaultTypeNameHandling; _binder = DefaultSerializationBinder.Instance; }
public JsonSerializerSettings(JsonSerializerSettings monSettings) { this.settings = new Newtonsoft.Json.JsonSerializerSettings(); //It doesn't have deep copy this.ContractResolver = monSettings.ContractResolver.Clone(); this.Converters = new List <JsonConverter>(monSettings.Converters); this.Formatting = monSettings.Formatting; this.MissingMemberHandling = monSettings.MissingMemberHandling; this.NullValueHandling = monSettings.NullValueHandling; this.ReferenceLoopHandling = monSettings.ReferenceLoopHandling; }
public JsonSerializerSettings GetJSONSettings(bool ignoreNull, ReferenceLoopHandling referenceLoopHandling = ReferenceLoopHandling.Ignore, bool useCamelCaseNaming = true) { return(new JsonSerializerSettings { ContractResolver = useCamelCaseNaming ? new CamelCasePropertyNamesContractResolver() : new DefaultContractResolver(), Converters = new List <JsonConverter> { new StringEnumConverter() }, NullValueHandling = ignoreNull ? NullValueHandling.Ignore : NullValueHandling.Include, ReferenceLoopHandling = referenceLoopHandling }); }
public static string ToGetJsonString(this object obj, ReferenceLoopHandling loopHanding) { if (obj == null) { return(null); } return(JsonConvert.SerializeObject(obj, new JsonSerializerSettings() { ReferenceLoopHandling = loopHanding })); }
public JsonSerializer() { this._referenceLoopHandling = ReferenceLoopHandling.Error; this._missingMemberHandling = MissingMemberHandling.Ignore; this._nullValueHandling = NullValueHandling.Include; this._defaultValueHandling = DefaultValueHandling.Include; this._objectCreationHandling = ObjectCreationHandling.Auto; this._preserveReferencesHandling = PreserveReferencesHandling.None; this._constructorHandling = ConstructorHandling.Default; this._typeNameHandling = TypeNameHandling.None; this._context = JsonSerializerSettings.DefaultContext; this._binder = (SerializationBinder)DefaultSerializationBinder.Instance; }
/// <summary> /// Converts a object (input) into a string /// </summary> /// <param name="input"></param> /// <param name="nullValueHandler"></param> /// <param name="formatting"></param> /// <param name="referenceLoopHandling"></param> /// <returns></returns> public static string ToJson(this object input, NullValueHandling nullValueHandler = NullValueHandling.Include, Formatting formatting = Formatting.Indented, ReferenceLoopHandling referenceLoopHandling = ReferenceLoopHandling.Error) { return(JsonConvert.SerializeObject( input, formatting, new JsonSerializerSettings { NullValueHandling = nullValueHandler, ReferenceLoopHandling = referenceLoopHandling } )); }
/// <summary> /// Initializes a new instance of the <see cref="JsonSerializer"/> class. /// </summary> public JsonSerializer() { this._referenceLoopHandling = JsonSerializerSettings.DefaultReferenceLoopHandling; this._missingMemberHandling = JsonSerializerSettings.DefaultMissingMemberHandling; this._nullValueHandling = JsonSerializerSettings.DefaultNullValueHandling; this._defaultValueHandling = JsonSerializerSettings.DefaultDefaultValueHandling; this._objectCreationHandling = JsonSerializerSettings.DefaultObjectCreationHandling; this._preserveReferencesHandling = JsonSerializerSettings.DefaultPreserveReferencesHandling; this._constructorHandling = JsonSerializerSettings.DefaultConstructorHandling; this._typeNameHandling = JsonSerializerSettings.DefaultTypeNameHandling; this.Context = JsonSerializerSettings.DefaultContext; this._binder = DefaultSerializationBinder.Instance; }
/// <summary> /// Extends the ToJsonResult for all objects /// </summary> /// <param name="obj">The Object</param> /// <param name="handleLoopReference">The handler</param> /// <returns>The object as JsonActionResult</returns> public static ActionResult ToJsonResult(this object obj, ReferenceLoopHandling handleLoopReference = ReferenceLoopHandling.Error) { var content = new ContentResult() { Content = JsonConvert.SerializeObject( obj, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore, ReferenceLoopHandling = handleLoopReference, ContractResolver = new CamelCasePropertyNamesContractResolver() }), ContentType = "application/json" }; return(content); }
/// <summary> /// Tests the ReferenceLoopHandling property in a JSON serializer settings object. /// </summary> /// <param name="referenceLoopHandling">Expected ReferenceLoopHandling.</param> /// <returns>The same JSON serializer settings test builder.</returns> public IAndJsonSerializerSettingsTestBuilder WithReferenceLoopHandling(ReferenceLoopHandling referenceLoopHandling) { this.jsonSerializerSettings.ReferenceLoopHandling = referenceLoopHandling; this.validations.Add((expected, actual) => { if (!CommonValidator.CheckEquality(expected.ReferenceLoopHandling, actual.ReferenceLoopHandling)) { this.ThrowNewJsonResultAssertionException( string.Format("{0} reference loop handling", expected.ReferenceLoopHandling), string.Format("in fact found {0}", actual.ReferenceLoopHandling)); } }); return(this); }
public JsonpResult ParseJsonp(object data, int depth = 1 , ReferenceLoopHandling referenceLoopHandling = ReferenceLoopHandling.Ignore) { var result = new JsonpResult { Data = data, JsonRequestBehavior = System.Web.Mvc.JsonRequestBehavior.AllowGet, Settings = { ReferenceLoopHandling = referenceLoopHandling, MaxDepth = depth// product, productdetail, author } }; return(result); }
public BeetleConfig(NullValueHandling nullValueHandling, TypeNameHandling typeNameHandling = TypeNameHandling.Objects, Formatting formatting = Formatting.Indented, ReferenceLoopHandling referenceLoopHandling = ReferenceLoopHandling.Ignore, PreserveReferencesHandling preserveReferencesHandling = PreserveReferencesHandling.Objects, DateTimeZoneHandling dateTimeZoneHandling = DateTimeZoneHandling.Local) : this(new JsonSerializerSettings { NullValueHandling = nullValueHandling, TypeNameHandling = typeNameHandling, TypeNameAssemblyFormatHandling = TypeNameAssemblyFormatHandling.Simple, Formatting = formatting, ReferenceLoopHandling = referenceLoopHandling, PreserveReferencesHandling = preserveReferencesHandling, DateTimeZoneHandling = dateTimeZoneHandling }) { }
/// <summary> /// Initializes a new instance of the <see cref="JsonSerializer"/> class. /// </summary> public JsonSerializer() { _referenceLoopHandling = JsonSerializerSettings.DefaultReferenceLoopHandling; _missingMemberHandling = JsonSerializerSettings.DefaultMissingMemberHandling; _nullValueHandling = JsonSerializerSettings.DefaultNullValueHandling; _defaultValueHandling = JsonSerializerSettings.DefaultDefaultValueHandling; _objectCreationHandling = JsonSerializerSettings.DefaultObjectCreationHandling; _preserveReferencesHandling = JsonSerializerSettings.DefaultPreserveReferencesHandling; _constructorHandling = JsonSerializerSettings.DefaultConstructorHandling; _typeNameHandling = JsonSerializerSettings.DefaultTypeNameHandling; _metadataPropertyHandling = JsonSerializerSettings.DefaultMetadataPropertyHandling; _context = JsonSerializerSettings.DefaultContext; _binder = DefaultSerializationBinder.Instance; _culture = JsonSerializerSettings.DefaultCulture; _contractResolver = DefaultContractResolver.Instance; }
/// <summary> /// Initializes a new instance of the <see cref="JsonSerializer"/> class. /// </summary> public JsonSerializer() { _referenceLoopHandling = ReferenceLoopHandling.Error; _missingMemberHandling = MissingMemberHandling.Error; }
/// <summary> /// Initializes a new instance of the <see cref="JsonSerializer"/> class. /// </summary> public JsonSerializer() { _referenceLoopHandling = ReferenceLoopHandling.Error; _missingMemberHandling = MissingMemberHandling.Error; _nullValueHandling = NullValueHandling.Include; _objectCreationHandling = ObjectCreationHandling.Auto; }
private bool CheckForCircularReference(object value, ReferenceLoopHandling? referenceLoopHandling, JsonContract contract) { if (value == null || contract is JsonPrimitiveContract) return true; if (SerializeStack.IndexOf(value) != -1) { var selfRef = (value is Vector2 || value is Vector3 || value is Vector4 || value is Color || value is Color32) ? ReferenceLoopHandling.Ignore : referenceLoopHandling.GetValueOrDefault(Serializer.ReferenceLoopHandling); switch (selfRef) { case ReferenceLoopHandling.Error: throw new JsonSerializationException("Self referencing loop detected for type '{0}'.".FormatWith(CultureInfo.InvariantCulture, value.GetType())); case ReferenceLoopHandling.Ignore: return false; case ReferenceLoopHandling.Serialize: return true; default: throw new InvalidOperationException("Unexpected ReferenceLoopHandling value: '{0}'".FormatWith(CultureInfo.InvariantCulture, Serializer.ReferenceLoopHandling)); } } return true; }
/// <summary> /// Initializes a new instance of the <see cref="JsonSerializer"/> class. /// </summary> public JsonSerializer(JavaScriptSerializer context, JavaScriptTypeResolver resolver) { _context = context; _typeResolver = resolver; _referenceLoopHandling = ReferenceLoopHandling.Error; }
private bool CheckForCircularReference(object value, ReferenceLoopHandling? referenceLoopHandling, JsonContract contract) { if (value == null || contract is JsonPrimitiveContract) return true; if (SerializeStack.IndexOf(value) != -1) { switch (referenceLoopHandling.GetValueOrDefault(Serializer.ReferenceLoopHandling)) { case ReferenceLoopHandling.Error: throw new JsonSerializationException("Self referencing loop"); case ReferenceLoopHandling.Ignore: return false; case ReferenceLoopHandling.Serialize: return true; default: throw new InvalidOperationException("Unexpected ReferenceLoopHandling value: '{0}'".FormatWith(CultureInfo.InvariantCulture, Serializer.ReferenceLoopHandling)); } } return true; }
/// <summary> /// Initializes a new instance of the <see cref="JsonSerializer"/> class. /// </summary> public JsonSerializer() { _referenceLoopHandling = ReferenceLoopHandling.Error; }