-
Notifications
You must be signed in to change notification settings - Fork 867
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Migrating to System.Text.Json
(#9727)
#9728
Conversation
There are significant compatibility issues with the |
I am beginning to change the couple |
Sounds good.
As you might have noticed, one of the biggest challenges, is that this project is big with quite a few "tech debts" and the need to support compatibility. This project does not abide .NET framework's breaking change policy, but still breaking changes for good needs to be introduced in a controlled way. Since this is going to be a non-trivial effort with breaking changes along the way, I created a
We may not be able to retire it in one go because so many parts of the project depend on it. It might be easier to migrate over piece by piece, such as:
Yes we should replace it with a strongly-typed serialization-only data model for config. One challenge is to come up with a pattern to support short-hand form which isn't directly supported by S.T.J without union types in C#. We can start trying out a few patterns and see which works the best in the work to support S.T.J for |
This sounds like a good idea. Should I close this PR for now? How would you prefer I structure the PRs? I imagine that some checks will fail regardless until everything falls into place. |
Currently most of I thought it's need to add serialize/deserialize roundtrip tests first. As far as I knows.
|
@just-ero Please create new PRs and close this one, but still make sure the new PRs pass validation. We need to do this large refactoring in small incremental shippable steps. |
Description
This PR addresses #9727.
Gradually, references to
Newtonsoft.Json
shall be converted toSystem.Text.Json
.Notes
During my work on this, I may discover and run into some oddities that I need the input of the team on. Should I simply add comments as these question arise? This is my first time working on such a big PR in such a big project.