Skip to content

Commit

Permalink
Merge branch 'features/use-stj' of https://github.com/RicoSuter/NJson…
Browse files Browse the repository at this point in the history
…Schema into features/use-stj
  • Loading branch information
Rico Suter committed Aug 20, 2023
2 parents 3ba129d + 5316c75 commit f74c5ef
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -53,13 +53,17 @@ public override void WriteJson(JsonWriter writer, object value, JsonSerializer s
{
var resolver = serializer.ContractResolver as DefaultContractResolver ?? _defaultContractResolver;

var jObject = new JObject();
jObject.Add(resolver.GetResolvedPropertyName("discriminator"), exception.GetType().Name);
jObject.Add(resolver.GetResolvedPropertyName("Message"), exception.Message);
jObject.Add(resolver.GetResolvedPropertyName("StackTrace"), _hideStackTrace ? "HIDDEN" : exception.StackTrace);
jObject.Add(resolver.GetResolvedPropertyName("Source"), exception.Source);
jObject.Add(resolver.GetResolvedPropertyName("InnerException"),
exception.InnerException != null ? JToken.FromObject(exception.InnerException, serializer) : null);
var jObject = new JObject
{
{ resolver.GetResolvedPropertyName("discriminator"), exception.GetType().Name },
{ resolver.GetResolvedPropertyName("Message"), exception.Message },
{ resolver.GetResolvedPropertyName("StackTrace"), _hideStackTrace ? "HIDDEN" : exception.StackTrace },
{ resolver.GetResolvedPropertyName("Source"), exception.Source },
{
resolver.GetResolvedPropertyName("InnerException"),
exception.InnerException != null ? JToken.FromObject(exception.InnerException, serializer) : null
}
};

foreach (var property in GetExceptionProperties(value.GetType()))
{
Expand Down
4 changes: 2 additions & 2 deletions src/NJsonSchema/Converters/JsonInheritanceConverter.cs
Original file line number Diff line number Diff line change
Expand Up @@ -203,14 +203,14 @@ private static Type GetSubtypeFromKnownTypeAttributes(Type objectType, string di
return null;
}

private static Type GetObjectSubtype(Type baseType, string discriminatorName)
private static Type GetObjectSubtype(Type baseType, string discriminatorValue)
{
var jsonInheritanceAttributes = baseType
.GetTypeInfo()
.GetCustomAttributes(true)
.OfType<JsonInheritanceAttribute>();

return jsonInheritanceAttributes.SingleOrDefault(a => a.Key == discriminatorName)?.Type;
return jsonInheritanceAttributes.SingleOrDefault(a => a.Key == discriminatorValue)?.Type;
}

private static string GetSubtypeDiscriminator(Type objectType)
Expand Down

0 comments on commit f74c5ef

Please sign in to comment.