Skip to content

Commit 4d89965

Browse files
author
欧俊
committed
将 Newtonsoft.Json 更换为 System.Text.Json
1 parent 84a50de commit 4d89965

4 files changed

Lines changed: 14 additions & 8 deletions

File tree

RabbitMQ.EventBus.AspNetCore.Sample/Controllers/ValuesController.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
using Microsoft.AspNetCore.Mvc;
2-
using Newtonsoft.Json;
32
using System;
43
using System.Threading.Tasks;
54

src/RabbitMQ.EventBus.AspNetCore/Extensions/DynamicExtensions.cs

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,12 @@ internal static class DynamicExtensions
1111
/// <typeparam name="TMessage"></typeparam>
1212
/// <param name="message"></param>
1313
/// <returns></returns>
14-
public static string Serialize<TMessage>(this TMessage message)
14+
public static string Serialize<TMessage>(this TMessage message) => JsonSerializer.Serialize(message, new JsonSerializerOptions
1515
{
16-
return JsonConvert.SerializeObject(message);
17-
}
16+
PropertyNameCaseInsensitive = true,
17+
Encoder = JavaScriptEncoder.UnsafeRelaxedJsonEscaping,
18+
NumberHandling = JsonNumberHandling.AllowReadingFromString
19+
});
1820
/// <summary>
1921
///
2022
/// </summary>
@@ -36,7 +38,12 @@ public static TResponse Deserialize<TResponse>(this string message)
3638
{
3739
try
3840
{
39-
return JsonConvert.DeserializeObject<TResponse>(message);
41+
return JsonSerializer.Deserialize<TResponse>(message, new JsonSerializerOptions
42+
{
43+
PropertyNameCaseInsensitive = true,
44+
Encoder = JavaScriptEncoder.UnsafeRelaxedJsonEscaping,
45+
NumberHandling = JsonNumberHandling.AllowReadingFromString
46+
});
4047
}
4148
catch
4249
{

src/RabbitMQ.EventBus.AspNetCore/GlobalUsings.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
global using Microsoft.Extensions.DependencyInjection;
22
global using Microsoft.Extensions.DependencyInjection.Extensions;
33
global using Microsoft.Extensions.Logging;
4-
global using Newtonsoft.Json;
54
global using Polly;
65
global using Polly.Retry;
76
global using RabbitMQ.Client;
@@ -21,6 +20,8 @@
2120
global using System.Linq;
2221
global using System.Net.Sockets;
2322
global using System.Text;
23+
global using System.Text.Encodings.Web;
24+
global using System.Text.Json;
25+
global using System.Text.Json.Serialization;
2426
global using System.Threading;
2527
global using System.Threading.Tasks;
26-

src/RabbitMQ.EventBus.AspNetCore/RabbitMQ.EventBus.AspNetCore.csproj

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@
2626
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="6.0.0" />
2727
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="6.0.0" />
2828
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="6.0.1" />
29-
<PackageReference Include="Newtonsoft.Json" Version="13.0.2" />
3029
<PackageReference Include="Polly" Version="7.2.3" />
3130
<PackageReference Include="RabbitMQ.Client" Version="6.4.0" />
3231
</ItemGroup>

0 commit comments

Comments
 (0)