Removed leftover System.Text.Json dependencies #16040
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Prerequisites
Description
A few property value editors have a direct dependency on
System.Text.Json
. While this works just fine, they really should not have that dependency. But at this point they're forced to.This PR introduces a new method on
IJsonSerializer
, which allows for attempting a deserialization of any (JSON) object, thus removing the need for direct dependencies on the concrete JSON implementation.Unit tests included.
As the current
IJsonSerializer
andIConfigurationEditorJsonSerializer
implementations are virtually identical apart from the JSON configurations, I have abstracted their implementation into a base class, so I didn't have to duplicate the implementation of theTryDeserialize
method too.Testing this PR
Nothing should change functionality wise.
Verify that you are still able to save content with properties based on the affected property value editors (slider, image cropper, media picker).