Open radderz opened 11 months ago
Thanks @radderz for reporting this issue. We currently don't evaluate conditions applied to the JsonIgnore
attribute. Implementing support for that may also not be something that the team might consider in the short to medium term. As it is, the library supports only a small subset of the Newtonsoft.Json property attributes, mostly because of limited resources coupled with the challenge of keeping up with the evolution of a third-party library. What then remains to determine what is the "bare minimum" behaviour to implement for scenarios where a condition is applied to the JsonIgnore
attribute:
i) Ignore the condition - meaning we don't serialize the property.
ii) Ignore attributes that have conditions - meaning we serialize the property.
Well I think option 2 is better than option 1 since more is better than missing. more just means larger packets and more cost on the deserialization side which is important in Blazor WASM.
The library that I would have through was being used is System.Text.Json rather than Newtonsoft.Json and the ignore attribute I am talking about is from System.Text.Json.
This isn't a third party library that I am talking about.
When using a class like above, on a standard ASP.NET Core controller like below:
Doing a query like /api/MyClass?$select=someReferenceId will return an array of blank objects instead of 1 blank object and one with the someReferenceId.