|
|
@ -27,12 +27,13 @@ namespace Volo.Abp.Json.SystemTextJson.JsonConverters |
|
|
var rootElement = JsonDocument.ParseValue(ref reader).RootElement; |
|
|
var rootElement = JsonDocument.ParseValue(ref reader).RootElement; |
|
|
if (rootElement.ValueKind == JsonValueKind.Object) |
|
|
if (rootElement.ValueKind == JsonValueKind.Object) |
|
|
{ |
|
|
{ |
|
|
var extensibleObject = JsonSerializer.Deserialize<T>(rootElement.GetRawText(), newOptions); |
|
|
var extensibleObject = rootElement.Deserialize<T>(newOptions); |
|
|
|
|
|
|
|
|
var extraPropertiesJsonProperty = rootElement.EnumerateObject().FirstOrDefault(x => x.Name.Equals(nameof(IHasExtraProperties.ExtraProperties), StringComparison.OrdinalIgnoreCase)); |
|
|
var extraPropertiesJsonProperty = rootElement.EnumerateObject().FirstOrDefault(x => x.Name.Equals(nameof(IHasExtraProperties.ExtraProperties), StringComparison.OrdinalIgnoreCase)); |
|
|
|
|
|
|
|
|
if (extraPropertiesJsonProperty.Value.ValueKind == JsonValueKind.Object) |
|
|
if (extraPropertiesJsonProperty.Value.ValueKind == JsonValueKind.Object) |
|
|
{ |
|
|
{ |
|
|
var extraPropertyDictionary = JsonSerializer.Deserialize(extraPropertiesJsonProperty.Value.GetRawText(), typeof(ExtraPropertyDictionary), newOptions); |
|
|
var extraPropertyDictionary = extraPropertiesJsonProperty.Value.Deserialize(typeof(ExtraPropertyDictionary), newOptions); |
|
|
ObjectHelper.TrySetProperty(extensibleObject, x => x.ExtraProperties, () => extraPropertyDictionary); |
|
|
ObjectHelper.TrySetProperty(extensibleObject, x => x.ExtraProperties, () => extraPropertyDictionary); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|