dotnet / dotnet/machinelearning

Remove dependency on Newtonsoft.Json

Open
#4,359 0 comments 5 reactions 0 assignees View on GitHub
area-Infrastructure Priority:2
Dominant language
C#
Stars
9.4k
Forks
2k
Avg merge
2d 20h
Merged PRs (30d)
11

Description

Now that we have https://www.nuget.org/packages/System.Text.Json/, we should remove our dependency on Newtonsoft.Json, at a minimum in our core Microsoft.ML nuget package.

This has the following advantages:

1. Less assemblies to carry around/deploy on .NET Core, since `System.Text.Json` is part of the shared framework.
2. It frees up the calling program to pick which version of Newtonsoft.Json it can use, instead of Microsoft.ML saying that it must use one `10.0.3` or higher.
3. `System.Text.Json` is faster (although we don't really use JSON code on any critical path).
4. In the core Microsoft.ML nuget package, this is the only 3rd party dependency. So removing it means ML.NET only depends on `System` packages.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.