Skip to content

Commit dcf718d

Browse files
committed
Serialization
1 parent 7685f21 commit dcf718d

File tree

3 files changed

+16
-10
lines changed

3 files changed

+16
-10
lines changed

Distribution.Stream/Converters/CustomConverter.cs

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,14 @@ public override T Read(ref Utf8JsonReader reader, Type dataType, JsonSerializerO
1717
return default;
1818
}
1919

20-
var value = JsonDocument.ParseValue(ref reader).RootElement;
21-
var response = (T)Convert.ChangeType($"{value}", dataType);
20+
var value = $"{JsonDocument.ParseValue(ref reader).RootElement}";
2221

23-
return response;
22+
if (string.Equals("NULL", value, StringComparison.OrdinalIgnoreCase))
23+
{
24+
return default;
25+
}
26+
27+
return (T)Convert.ChangeType(value, dataType);
2428
}
2529
catch (Exception)
2630
{
@@ -30,6 +34,11 @@ public override T Read(ref Utf8JsonReader reader, Type dataType, JsonSerializerO
3034

3135
public override void Write(Utf8JsonWriter writer, T value, JsonSerializerOptions options)
3236
{
37+
if (value is null)
38+
{
39+
return;
40+
}
41+
3342
writer.WriteStringValue($"{value}");
3443
}
3544
}

Distribution.Stream/Distribution.Stream.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
<PropertyGroup>
1010
<IsPackable>true</IsPackable>
1111
<GeneratePackageOnBuild>True</GeneratePackageOnBuild>
12-
<Version>1.2.6</Version>
12+
<Version>1.2.7</Version>
1313
<Description>HTTP service with streaming and parallel execution.</Description>
1414
<Authors>artemiusgreat</Authors>
1515
<Copyright>indemos.com</Copyright>

Distribution.Stream/Service.cs

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -44,15 +44,12 @@ public Service(HttpClient client)
4444
Timeout = TimeSpan.FromSeconds(15);
4545
Options = new JsonSerializerOptions
4646
{
47-
WriteIndented = true,
47+
WriteIndented = false,
4848
PropertyNameCaseInsensitive = true,
4949
ReferenceHandler = ReferenceHandler.IgnoreCycles,
5050
ReadCommentHandling = JsonCommentHandling.Skip,
51-
DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull,
52-
NumberHandling =
53-
JsonNumberHandling.AllowReadingFromString |
54-
JsonNumberHandling.AllowNamedFloatingPointLiterals |
55-
JsonNumberHandling.WriteAsString,
51+
DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull | JsonIgnoreCondition.WhenWritingDefault,
52+
NumberHandling = JsonNumberHandling.AllowReadingFromString | JsonNumberHandling.AllowNamedFloatingPointLiterals,
5653
Converters =
5754
{
5855
new Converters.CustomConverter<bool>(),

0 commit comments

Comments
 (0)