Skip to content

Migrate from Newtonsoft.Json to System.Text.Json #83

Description

@ChrisonSimtian

Long-tail consolidation — currently both Newtonsoft.Json and System.Text.Json are in the dependency graph. Newtonsoft.Json is used directly in several places + dragged in by NJsonSchema.NewtonsoftJson. System.Text.Json is the modern standard and ships with .NET.

Scope:

  • Replace direct usages of Newtonsoft.Json.Linq / JsonConvert etc. with System.Text.Json. Largest call sites likely in Fallout.Utilities.Text.Json, Fallout.SolutionModel, Fallout.GlobalTool parameters file handling.
  • Replace NJsonSchema.NewtonsoftJson with NJsonSchema configured to use System.Text.Json (NJsonSchema supports it natively).
  • Drop Newtonsoft.Json PackageVersion.

Bigger lift; benefits: one fewer dep, modern JSON pipeline, smaller package graph.

Refs the dependency audit.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions