diff --git a/json-csharp/GlobalDefaultJsonSerializationoptions/GlobalDefaultJsonSerializationoptions/Controllers/ProductController.cs b/json-csharp/GlobalDefaultJsonSerializationoptions/GlobalDefaultJsonSerializationoptions/Controllers/ProductController.cs index 6ce51f034a..188b7693d2 100644 --- a/json-csharp/GlobalDefaultJsonSerializationoptions/GlobalDefaultJsonSerializationoptions/Controllers/ProductController.cs +++ b/json-csharp/GlobalDefaultJsonSerializationoptions/GlobalDefaultJsonSerializationoptions/Controllers/ProductController.cs @@ -1,5 +1,4 @@ using Microsoft.AspNetCore.Mvc; -using Newtonsoft.Json; namespace GlobalDefaultJsonSerializationoptions.Controllers; @@ -16,6 +15,6 @@ public ActionResult CreateProduct(Product product) [HttpPost("save")] public ActionResult SaveProduct(Product product) { - return Ok(JsonConvert.SerializeObject(product)); + return Ok(product); } } diff --git a/json-csharp/GlobalDefaultJsonSerializationoptions/GlobalDefaultJsonSerializationoptions/GlobalDefaultJsonSerializationoptions.csproj b/json-csharp/GlobalDefaultJsonSerializationoptions/GlobalDefaultJsonSerializationoptions/GlobalDefaultJsonSerializationoptions.csproj index c7cc13203b..a2273d15df 100644 --- a/json-csharp/GlobalDefaultJsonSerializationoptions/GlobalDefaultJsonSerializationoptions/GlobalDefaultJsonSerializationoptions.csproj +++ b/json-csharp/GlobalDefaultJsonSerializationoptions/GlobalDefaultJsonSerializationoptions/GlobalDefaultJsonSerializationoptions.csproj @@ -1,15 +1,15 @@ - net8.0 + net10.0 enable enable true - - + + diff --git a/json-csharp/GlobalDefaultJsonSerializationoptions/GlobalDefaultJsonSerializationoptions/Program.cs b/json-csharp/GlobalDefaultJsonSerializationoptions/GlobalDefaultJsonSerializationoptions/Program.cs index 0397cc9e1d..5f0c309cb6 100644 --- a/json-csharp/GlobalDefaultJsonSerializationoptions/GlobalDefaultJsonSerializationoptions/Program.cs +++ b/json-csharp/GlobalDefaultJsonSerializationoptions/GlobalDefaultJsonSerializationoptions/Program.cs @@ -25,7 +25,7 @@ builder.Services.ConfigureHttpJsonOptions(options => { - options.SerializerOptions.PropertyNamingPolicy = JsonNamingPolicy.CamelCase; + options.SerializerOptions.PropertyNamingPolicy = JsonNamingPolicy.SnakeCaseUpper; options.SerializerOptions.DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull; options.SerializerOptions.WriteIndented = false; options.SerializerOptions.Encoder = JavaScriptEncoder.Default; @@ -34,15 +34,15 @@ options.SerializerOptions.NumberHandling = JsonNumberHandling.AllowReadingFromString; }); -JsonConvert.DefaultSettings = () => new JsonSerializerSettings +builder.Services.AddControllers().AddNewtonsoftJson(options => { - ContractResolver = new CamelCasePropertyNamesContractResolver(), - Formatting = Formatting.Indented, - NullValueHandling = NullValueHandling.Ignore, - DateFormatString = "dd-MM-yyyy", - DefaultValueHandling = DefaultValueHandling.Ignore, - MaxDepth = 3 -}; + options.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver(); + options.SerializerSettings.Formatting = Formatting.Indented; + options.SerializerSettings.NullValueHandling = NullValueHandling.Ignore; + options.SerializerSettings.DateFormatString = "dd-MM-yyyy"; + options.SerializerSettings.DefaultValueHandling = DefaultValueHandling.Ignore; + options.SerializerSettings.MaxDepth = 3; +}); var app = builder.Build(); diff --git a/json-csharp/GlobalDefaultJsonSerializationoptions/GlobalDefaultJsonSerializationoptionsUnitTests/GlobalDefaultJsonSerializationoptionsUnitTests.csproj b/json-csharp/GlobalDefaultJsonSerializationoptions/GlobalDefaultJsonSerializationoptionsUnitTests/GlobalDefaultJsonSerializationoptionsUnitTests.csproj index f0985e8813..08d8727141 100644 --- a/json-csharp/GlobalDefaultJsonSerializationoptions/GlobalDefaultJsonSerializationoptionsUnitTests/GlobalDefaultJsonSerializationoptionsUnitTests.csproj +++ b/json-csharp/GlobalDefaultJsonSerializationoptions/GlobalDefaultJsonSerializationoptionsUnitTests/GlobalDefaultJsonSerializationoptionsUnitTests.csproj @@ -1,7 +1,7 @@ - net8.0 + net10.0 enable enable @@ -10,11 +10,11 @@ - - - - - + + + + + diff --git a/json-csharp/GlobalDefaultJsonSerializationoptions/GlobalDefaultJsonSerializationoptionsUnitTests/ProductControllerUnitTests.cs b/json-csharp/GlobalDefaultJsonSerializationoptions/GlobalDefaultJsonSerializationoptionsUnitTests/ProductControllerUnitTests.cs index d49a23d6e6..f803382284 100644 --- a/json-csharp/GlobalDefaultJsonSerializationoptions/GlobalDefaultJsonSerializationoptionsUnitTests/ProductControllerUnitTests.cs +++ b/json-csharp/GlobalDefaultJsonSerializationoptions/GlobalDefaultJsonSerializationoptionsUnitTests/ProductControllerUnitTests.cs @@ -2,7 +2,6 @@ using GlobalDefaultJsonSerializationoptions.Controllers; using Microsoft.AspNetCore.Mvc; using Microsoft.VisualStudio.TestTools.UnitTesting; -using Newtonsoft.Json; namespace GlobalDefaultJsonSerializationoptionsUnitTests; @@ -42,8 +41,6 @@ public void GivenValidProduct_WhenSaveProductIsCalled_ThenReturnsProductWithSame // Assert Assert.IsNotNull(result); Assert.AreEqual(200, result.StatusCode); - - var expectedJson = JsonConvert.SerializeObject(product); - Assert.AreEqual(expectedJson, result?.Value?.ToString()); + Assert.AreEqual(product, result.Value); } }