Skip to content
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

Use Json.NET instead of Newtonsoft.Json #4223

Open
molnard opened this issue Aug 24, 2020 · 4 comments
Open

Use Json.NET instead of Newtonsoft.Json #4223

molnard opened this issue Aug 24, 2020 · 4 comments

Comments

@molnard
Copy link
Collaborator

molnard commented Aug 24, 2020

From .NET Core 3 MS started to implement its own JSON library. It would be better to use that sooner or later. Apparently it is not ready to overtake Newtonsoft place, there are incompatibilities and missing implementations but it is good to keep an eye on it.

First, try to replace is here:
#2573

@MaxHillebrand
Copy link
Collaborator

what's up with this?

@molnard
Copy link
Collaborator Author

molnard commented Aug 23, 2022

There are many unsupported features still in Json.NET, here is a comparison

https://docs.microsoft.com/en-us/dotnet/standard/serialization/system-text-json-migrate-from-newtonsoft-how-to?pivots=dotnet-6-0

@kiminuo
Copy link
Collaborator

kiminuo commented Apr 17, 2024

Update: https://learn.microsoft.com/en-us/dotnet/standard/serialization/system-text-json/migrate-from-newtonsoft?pivots=dotnet-8-0#table-of-differences

I'm not sure what features we really want. AFAIK we can use STJ and enjoy its better performance and lower memory footprint. Also STJ has code generators support so it avoids reflection.

A minor step forward would be to say: Do not introduce new Newtonsoft.JSON code. (when there is a choice)

Examples of people porting to STJ

@molnard
Copy link
Collaborator Author

molnard commented Apr 17, 2024

I put this on the RR board for evaluation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants