Skip to content

Commit 6f4b235

Browse files
authored
Fix ObjectToInferredTypesConverter stack overflow when serializing plain object (#46893)
1 parent 19bc8a0 commit 6f4b235

File tree

1 file changed

+12
-2
lines changed

1 file changed

+12
-2
lines changed

docs/standard/serialization/system-text-json/snippets/how-to-contd/csharp/CustomConverterInferredTypesToObject.cs

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,18 @@ JsonTokenType.String when reader.TryGetDateTime(out DateTime datetime) => dateti
2222
public override void Write(
2323
Utf8JsonWriter writer,
2424
object objectToWrite,
25-
JsonSerializerOptions options) =>
26-
JsonSerializer.Serialize(writer, objectToWrite, objectToWrite.GetType(), options);
25+
JsonSerializerOptions options)
26+
{
27+
var runtimeType = objectToWrite.GetType();
28+
if (runtimeType == typeof(object))
29+
{
30+
writer.WriteStartObject();
31+
writer.WriteEndObject();
32+
return;
33+
}
34+
35+
JsonSerializer.Serialize(writer, objectToWrite, runtimeType, options);
36+
}
2737
}
2838

2939
public class WeatherForecast

0 commit comments

Comments
 (0)