diff --git a/eng/Versions.props b/eng/Versions.props index 9bdab73d6e99eb90cbab323583e8c2f13f549e9b..ad09f00887b8687a24852646e4f104f4bfedd6a7 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -242,7 +242,7 @@ <MoqVersion>4.10.0</MoqVersion> <MonoCecilVersion>0.11.2</MonoCecilVersion> <NewtonsoftJsonBsonVersion>1.0.2</NewtonsoftJsonBsonVersion> - <NewtonsoftJsonVersion>12.0.2</NewtonsoftJsonVersion> + <NewtonsoftJsonVersion>13.0.1</NewtonsoftJsonVersion> <NSwagApiDescriptionClientVersion>13.0.4</NSwagApiDescriptionClientVersion> <PhotinoNETVersion>1.1.6</PhotinoNETVersion> <PlaywrightSharpVersion>0.192.0</PlaywrightSharpVersion> diff --git a/src/Mvc/Mvc.NewtonsoftJson/src/BsonTempDataSerializer.cs b/src/Mvc/Mvc.NewtonsoftJson/src/BsonTempDataSerializer.cs index 5674a4e00567f2dcc365bda97cb3a4f9b7373c48..7623adda7418806afb0f1231cb69b89768e1607d 100644 --- a/src/Mvc/Mvc.NewtonsoftJson/src/BsonTempDataSerializer.cs +++ b/src/Mvc/Mvc.NewtonsoftJson/src/BsonTempDataSerializer.cs @@ -45,7 +45,7 @@ namespace Microsoft.AspNetCore.Mvc.NewtonsoftJson public override IDictionary<string, object?> Deserialize(byte[] value) { - Dictionary<string, object?> tempDataDictionary; + Dictionary<string, object?>? tempDataDictionary; using (var memoryStream = new MemoryStream(value)) using (var reader = new BsonDataReader(memoryStream)) @@ -222,14 +222,14 @@ namespace Microsoft.AspNetCore.Mvc.NewtonsoftJson return true; } - private static IList<TVal> ConvertArray<TVal>(JArray array) + private static IList<TVal?> ConvertArray<TVal>(JArray array) { return array.Values<TVal>().ToArray(); } - private static IDictionary<string, TVal> ConvertDictionary<TVal>(JObject jObject) + private static IDictionary<string, TVal?> ConvertDictionary<TVal>(JObject jObject) { - var convertedDictionary = new Dictionary<string, TVal>(StringComparer.Ordinal); + var convertedDictionary = new Dictionary<string, TVal?>(StringComparer.Ordinal); foreach (var item in jObject) { convertedDictionary.Add(item.Key, jObject.Value<TVal>(item.Key)); diff --git a/src/Mvc/Mvc.NewtonsoftJson/src/JsonArrayPool.cs b/src/Mvc/Mvc.NewtonsoftJson/src/JsonArrayPool.cs index 9d5a6a66671dd3da00a3f74e9cc6fc3cf1ff3e19..d679b69fcb8ce5bd15194ab482797198db8429da 100644 --- a/src/Mvc/Mvc.NewtonsoftJson/src/JsonArrayPool.cs +++ b/src/Mvc/Mvc.NewtonsoftJson/src/JsonArrayPool.cs @@ -26,7 +26,7 @@ namespace Microsoft.AspNetCore.Mvc.NewtonsoftJson return _inner.Rent(minimumLength); } - public void Return(T[] array) + public void Return(T[]? array) { if (array == null) { diff --git a/src/Mvc/Mvc.NewtonsoftJson/src/NewtonsoftJsonInputFormatter.cs b/src/Mvc/Mvc.NewtonsoftJson/src/NewtonsoftJsonInputFormatter.cs index 55686f4fc33bf7f5517f503c145149d4d1a257ab..13992f1bc41eea87e1bf9b88aff9b6d6ac5d4d28 100644 --- a/src/Mvc/Mvc.NewtonsoftJson/src/NewtonsoftJsonInputFormatter.cs +++ b/src/Mvc/Mvc.NewtonsoftJson/src/NewtonsoftJsonInputFormatter.cs @@ -165,7 +165,7 @@ namespace Microsoft.AspNetCore.Mvc.Formatters var successful = true; Exception? exception = null; - object model; + object? model; using (var streamReader = context.ReaderFactory(readStream, encoding)) { diff --git a/src/Mvc/Mvc.NewtonsoftJson/src/ProblemDetailsConverter.cs b/src/Mvc/Mvc.NewtonsoftJson/src/ProblemDetailsConverter.cs index 420f19362a6c8af549465ce96929f13c98f73367..f2ddce498d7b407ddc565e62033ab4a41b3f8845 100644 --- a/src/Mvc/Mvc.NewtonsoftJson/src/ProblemDetailsConverter.cs +++ b/src/Mvc/Mvc.NewtonsoftJson/src/ProblemDetailsConverter.cs @@ -18,7 +18,7 @@ namespace Microsoft.AspNetCore.Mvc.NewtonsoftJson } /// <inheritdoc /> - public override object? ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) + public override object? ReadJson(JsonReader reader, Type objectType, object? existingValue, JsonSerializer serializer) { var annotatedProblemDetails = serializer.Deserialize<AnnotatedProblemDetails>(reader); if (annotatedProblemDetails == null) @@ -26,14 +26,14 @@ namespace Microsoft.AspNetCore.Mvc.NewtonsoftJson return null; } - var problemDetails = (ProblemDetails)existingValue ?? new ProblemDetails(); + var problemDetails = (ProblemDetails?)existingValue ?? new ProblemDetails(); annotatedProblemDetails.CopyTo(problemDetails); return problemDetails; } /// <inheritdoc /> - public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) + public override void WriteJson(JsonWriter writer, object? value, JsonSerializer serializer) { if (value == null) { diff --git a/src/Mvc/Mvc.NewtonsoftJson/src/PublicAPI.Unshipped.txt b/src/Mvc/Mvc.NewtonsoftJson/src/PublicAPI.Unshipped.txt index 4029378de27a2145527eebe2666000e26c28a6d9..82880afd7abe24ac8a9a68f57c3c13da30d10005 100644 --- a/src/Mvc/Mvc.NewtonsoftJson/src/PublicAPI.Unshipped.txt +++ b/src/Mvc/Mvc.NewtonsoftJson/src/PublicAPI.Unshipped.txt @@ -45,11 +45,11 @@ override Microsoft.AspNetCore.Mvc.Formatters.NewtonsoftJsonOutputFormatter.Write override Microsoft.AspNetCore.Mvc.Formatters.NewtonsoftJsonPatchInputFormatter.CanRead(Microsoft.AspNetCore.Mvc.Formatters.InputFormatterContext! context) -> bool override Microsoft.AspNetCore.Mvc.Formatters.NewtonsoftJsonPatchInputFormatter.ReadRequestBodyAsync(Microsoft.AspNetCore.Mvc.Formatters.InputFormatterContext! context, System.Text.Encoding! encoding) -> System.Threading.Tasks.Task<Microsoft.AspNetCore.Mvc.Formatters.InputFormatterResult!>! override Microsoft.AspNetCore.Mvc.NewtonsoftJson.ProblemDetailsConverter.CanConvert(System.Type! objectType) -> bool -override Microsoft.AspNetCore.Mvc.NewtonsoftJson.ProblemDetailsConverter.ReadJson(Newtonsoft.Json.JsonReader! reader, System.Type! objectType, object! existingValue, Newtonsoft.Json.JsonSerializer! serializer) -> object? -override Microsoft.AspNetCore.Mvc.NewtonsoftJson.ProblemDetailsConverter.WriteJson(Newtonsoft.Json.JsonWriter! writer, object! value, Newtonsoft.Json.JsonSerializer! serializer) -> void +override Microsoft.AspNetCore.Mvc.NewtonsoftJson.ProblemDetailsConverter.ReadJson(Newtonsoft.Json.JsonReader! reader, System.Type! objectType, object? existingValue, Newtonsoft.Json.JsonSerializer! serializer) -> object? +override Microsoft.AspNetCore.Mvc.NewtonsoftJson.ProblemDetailsConverter.WriteJson(Newtonsoft.Json.JsonWriter! writer, object? value, Newtonsoft.Json.JsonSerializer! serializer) -> void override Microsoft.AspNetCore.Mvc.NewtonsoftJson.ValidationProblemDetailsConverter.CanConvert(System.Type! objectType) -> bool -override Microsoft.AspNetCore.Mvc.NewtonsoftJson.ValidationProblemDetailsConverter.ReadJson(Newtonsoft.Json.JsonReader! reader, System.Type! objectType, object! existingValue, Newtonsoft.Json.JsonSerializer! serializer) -> object? -override Microsoft.AspNetCore.Mvc.NewtonsoftJson.ValidationProblemDetailsConverter.WriteJson(Newtonsoft.Json.JsonWriter! writer, object! value, Newtonsoft.Json.JsonSerializer! serializer) -> void +override Microsoft.AspNetCore.Mvc.NewtonsoftJson.ValidationProblemDetailsConverter.ReadJson(Newtonsoft.Json.JsonReader! reader, System.Type! objectType, object? existingValue, Newtonsoft.Json.JsonSerializer! serializer) -> object? +override Microsoft.AspNetCore.Mvc.NewtonsoftJson.ValidationProblemDetailsConverter.WriteJson(Newtonsoft.Json.JsonWriter! writer, object? value, Newtonsoft.Json.JsonSerializer! serializer) -> void ~static Microsoft.AspNetCore.Mvc.JsonPatchExtensions.ApplyTo<T>(this Microsoft.AspNetCore.JsonPatch.JsonPatchDocument<T!>! patchDoc, T! objectToApplyTo, Microsoft.AspNetCore.Mvc.ModelBinding.ModelStateDictionary! modelState) -> void ~static Microsoft.AspNetCore.Mvc.JsonPatchExtensions.ApplyTo<T>(this Microsoft.AspNetCore.JsonPatch.JsonPatchDocument<T!>! patchDoc, T! objectToApplyTo, Microsoft.AspNetCore.Mvc.ModelBinding.ModelStateDictionary! modelState, string! prefix) -> void static Microsoft.AspNetCore.Mvc.NewtonsoftJson.JsonSerializerSettingsProvider.CreateSerializerSettings() -> Newtonsoft.Json.JsonSerializerSettings! diff --git a/src/Mvc/Mvc.NewtonsoftJson/src/ValidationProblemDetailsConverter.cs b/src/Mvc/Mvc.NewtonsoftJson/src/ValidationProblemDetailsConverter.cs index a7a0cdd1bea031127ed91e3482dd9a3d045536d6..5a87970f6adfd0aa5447f035abc91aab9ce0808c 100644 --- a/src/Mvc/Mvc.NewtonsoftJson/src/ValidationProblemDetailsConverter.cs +++ b/src/Mvc/Mvc.NewtonsoftJson/src/ValidationProblemDetailsConverter.cs @@ -19,7 +19,7 @@ namespace Microsoft.AspNetCore.Mvc.NewtonsoftJson } /// <inheritdoc /> - public override object? ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) + public override object? ReadJson(JsonReader reader, Type objectType, object? existingValue, JsonSerializer serializer) { var annotatedProblemDetails = serializer.Deserialize<AnnotatedValidationProblemDetails>(reader); if (annotatedProblemDetails == null) @@ -27,14 +27,14 @@ namespace Microsoft.AspNetCore.Mvc.NewtonsoftJson return null; } - var problemDetails = (ValidationProblemDetails)existingValue ?? new ValidationProblemDetails(); + var problemDetails = (ValidationProblemDetails?)existingValue ?? new ValidationProblemDetails(); annotatedProblemDetails.CopyTo(problemDetails); return problemDetails; } /// <inheritdoc /> - public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) + public override void WriteJson(JsonWriter writer, object? value, JsonSerializer serializer) { if (value == null) { diff --git a/src/Razor/Microsoft.AspNetCore.Razor.Language/test/Microsoft.AspNetCore.Razor.Language.Test.csproj b/src/Razor/Microsoft.AspNetCore.Razor.Language/test/Microsoft.AspNetCore.Razor.Language.Test.csproj index b0d8b4c9877f16cd77a8789fd42b49374a8066e0..0c11cef119db71245b32fd51f7e2f824dbba4945 100644 --- a/src/Razor/Microsoft.AspNetCore.Razor.Language/test/Microsoft.AspNetCore.Razor.Language.Test.csproj +++ b/src/Razor/Microsoft.AspNetCore.Razor.Language/test/Microsoft.AspNetCore.Razor.Language.Test.csproj @@ -17,7 +17,7 @@ <ItemGroup> <Reference Include="Microsoft.AspNetCore.Razor.Language" /> - <Reference Include="Newtonsoft.Json" Version="12.0.3" /> + <Reference Include="Newtonsoft.Json" /> <ProjectReference Include="..\..\test\Microsoft.AspNetCore.Razor.Test.Common\Microsoft.AspNetCore.Razor.Test.Common.csproj" /> <ProjectReference Include="..\..\test\Microsoft.AspNetCore.Razor.Test.ComponentShim\Microsoft.AspNetCore.Razor.Test.ComponentShim.csproj" /> </ItemGroup> diff --git a/src/SignalR/common/Protocols.NewtonsoftJson/src/Protocol/NewtonsoftJsonHubProtocol.cs b/src/SignalR/common/Protocols.NewtonsoftJson/src/Protocol/NewtonsoftJsonHubProtocol.cs index aea690010029526fb5323c24f306994e707cf0d0..86c9e0a6c05f256a45a681640a911b7c29e91737 100644 --- a/src/SignalR/common/Protocols.NewtonsoftJson/src/Protocol/NewtonsoftJsonHubProtocol.cs +++ b/src/SignalR/common/Protocols.NewtonsoftJson/src/Protocol/NewtonsoftJsonHubProtocol.cs @@ -150,7 +150,7 @@ namespace Microsoft.AspNetCore.SignalR.Protocol switch (reader.TokenType) { case JsonToken.PropertyName: - var memberName = reader.Value.ToString(); + var memberName = reader.Value?.ToString(); switch (memberName) { @@ -430,7 +430,7 @@ namespace Microsoft.AspNetCore.SignalR.Protocol switch (reader.TokenType) { case JsonToken.PropertyName: - var propertyName = reader.Value.ToString()!; + var propertyName = reader.Value!.ToString()!; JsonUtils.CheckRead(reader); diff --git a/src/SignalR/common/Shared/JsonUtils.cs b/src/SignalR/common/Shared/JsonUtils.cs index 56d86d6be2a68251ecc7dd69dd4009e271e5e303..d79b5a06595c4f8790768db865ecc81cd93f5de4 100644 --- a/src/SignalR/common/Shared/JsonUtils.cs +++ b/src/SignalR/common/Shared/JsonUtils.cs @@ -47,7 +47,7 @@ namespace Microsoft.AspNetCore.Internal return (JObject)token; } - public static T GetRequiredProperty<T>(JObject json, string property, JTokenType expectedType = JTokenType.None) + public static T? GetRequiredProperty<T>(JObject json, string property, JTokenType expectedType = JTokenType.None) { var prop = json[property]; @@ -59,7 +59,7 @@ namespace Microsoft.AspNetCore.Internal return GetValue<T>(property, expectedType, prop); } - public static T GetValue<T>(string property, JTokenType expectedType, JToken prop) + public static T? GetValue<T>(string property, JTokenType expectedType, JToken prop) { if (expectedType != JTokenType.None && prop.Type != expectedType) { @@ -192,8 +192,13 @@ namespace Microsoft.AspNetCore.Internal return _inner.Rent(minimumLength); } - public void Return(T[] array) + public void Return(T[]? array) { + if (array is null) + { + return; + } + _inner.Return(array); } }