Skip to content

Commit c579ddf

Browse files
authored
NetCore - Use JsonSerializer.Deserialize(Stream) (#5146)
1 parent 185d496 commit c579ddf

File tree

1 file changed

+5
-9
lines changed

1 file changed

+5
-9
lines changed

CefSharp.Core/DevTools/DevToolsClient.cs

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -331,7 +331,7 @@ void IDevToolsMessageObserver.OnDevToolsMethodResult(IBrowser browser, int messa
331331

332332
/// <summary>
333333
/// Deserialize the JSON stream into a .Net object.
334-
/// For .Net Core/.Net 5.0 uses System.Text.Json
334+
/// For .Net 6.0 uses System.Text.Json
335335
/// for .Net 4.6.2 uses System.Runtime.Serialization.Json
336336
/// </summary>
337337
/// <typeparam name="T">Object type</typeparam>
@@ -358,7 +358,7 @@ private static T DeserializeJsonEvent<T>(string eventName, Stream stream) where
358358

359359
/// <summary>
360360
/// Deserialize the JSON stream into a .Net object.
361-
/// For .Net Core/.Net 5.0 uses System.Text.Json
361+
/// For .Net 6.0 uses System.Text.Json
362362
/// for .Net 4.6.2 uses System.Runtime.Serialization.Json
363363
/// </summary>
364364
/// <typeparam name="T">Object type</typeparam>
@@ -373,7 +373,7 @@ private static T DeserializeJson<T>(Stream stream)
373373
private static readonly System.Text.Json.JsonSerializerOptions DefaultJsonSerializerOptions = new System.Text.Json.JsonSerializerOptions
374374
{
375375
PropertyNameCaseInsensitive = true,
376-
IgnoreNullValues = true,
376+
DefaultIgnoreCondition = System.Text.Json.Serialization.JsonIgnoreCondition.WhenWritingNull,
377377
Converters = { new CefSharp.Internals.Json.JsonEnumConverterFactory() },
378378
};
379379
#else
@@ -385,7 +385,7 @@ private static T DeserializeJson<T>(Stream stream)
385385

386386
/// <summary>
387387
/// Deserialize the JSON stream into a .Net object.
388-
/// For .Net Core/.Net 5.0 uses System.Text.Json
388+
/// For .Net 6.0 uses System.Text.Json
389389
/// for .Net 4.6.2 uses System.Runtime.Serialization.Json
390390
/// </summary>
391391
/// <param name="type">Object type</param>
@@ -394,11 +394,7 @@ private static T DeserializeJson<T>(Stream stream)
394394
private static object DeserializeJson(Type type, Stream stream)
395395
{
396396
#if NETCOREAPP
397-
// TODO: use synchronus Deserialize<T>(Stream) when System.Text.Json gets updated
398-
var memoryStream = new MemoryStream((int)stream.Length);
399-
stream.CopyTo(memoryStream);
400-
401-
return System.Text.Json.JsonSerializer.Deserialize(memoryStream.ToArray(), type, DefaultJsonSerializerOptions);
397+
return System.Text.Json.JsonSerializer.Deserialize(stream, type, DefaultJsonSerializerOptions);
402398
#else
403399
var dcs = new System.Runtime.Serialization.Json.DataContractJsonSerializer(type, DefaultJsonSerializerSettings);
404400
return dcs.ReadObject(stream);

0 commit comments

Comments
 (0)