From e1e34043cdf787f6823378def824f8770b42a029 Mon Sep 17 00:00:00 2001 From: Tom Dykstra Date: Fri, 29 Oct 2021 10:00:08 -0700 Subject: [PATCH] nonconfigurable limits --- ...system-text-json-migrate-from-newtonsoft-how-to.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/docs/standard/serialization/system-text-json-migrate-from-newtonsoft-how-to.md b/docs/standard/serialization/system-text-json-migrate-from-newtonsoft-how-to.md index 15f181b2064a3..07cb56b1ef6f2 100644 --- a/docs/standard/serialization/system-text-json-migrate-from-newtonsoft-how-to.md +++ b/docs/standard/serialization/system-text-json-migrate-from-newtonsoft-how-to.md @@ -4,7 +4,11 @@ description: "Learn how to migrate from Newtonsoft.Json to System.Text.Json. Inc author: tdykstra ms.author: tdykstra no-loc: [System.Text.Json, Newtonsoft.Json] +<<<<<<< HEAD ms.date: 10/13/2021 +======= +ms.date: 10/29/2021 +>>>>>>> f90fad0998 (nonconfigurable limits) zone_pivot_groups: dotnet-version helpviewer_keywords: - "JSON serialization" @@ -88,6 +92,7 @@ The following table lists `Newtonsoft.Json` features and `System.Text.Json` equi | Allow non-string JSON values for string properties | ❌ [Not supported](#non-string-values-for-string-properties) | | `TypeNameHandling.All` global setting | ❌ [Not supported](#typenamehandlingall-not-supported) | | Support for `JsonPath` queries | ❌ [Not supported](#json-path-queries-not-supported) | +| Configurable limits | ❌ [Not supported](#some-limits-not-configurable) | ::: zone-end ::: zone pivot="dotnet-5-0" @@ -133,6 +138,7 @@ The following table lists `Newtonsoft.Json` features and `System.Text.Json` equi | Allow non-string JSON values for string properties | ❌ [Not supported](#non-string-values-for-string-properties) | | `TypeNameHandling.All` global setting | ❌ [Not supported](#typenamehandlingall-not-supported) | | Support for `JsonPath` queries | ❌ [Not supported](#json-path-queries-not-supported) | +| Configurable limits | ❌ [Not supported](#some-limits-not-configurable) | ::: zone-end ::: zone pivot="dotnet-core-3-1" @@ -178,6 +184,7 @@ The following table lists `Newtonsoft.Json` features and `System.Text.Json` equi | Allow non-string JSON values for string properties | ❌ [Not supported](#non-string-values-for-string-properties) | | `TypeNameHandling.All` global setting | ❌ [Not supported](#typenamehandlingall-not-supported) | | Support for `JsonPath` queries | ❌ [Not supported](#json-path-queries-not-supported) | +| Configurable limits | ❌ [Not supported](#some-limits-not-configurable) | ::: zone-end This is not an exhaustive list of `Newtonsoft.Json` features. The list includes many of the scenarios that have been requested in [GitHub issues](https://github.com/dotnet/runtime/issues?q=is%3Aopen+is%3Aissue+label%3Aarea-System.Text.Json) or [StackOverflow](https://stackoverflow.com/questions/tagged/system.text.json) posts. If you implement a workaround for one of the scenarios listed here that doesn't currently have sample code, and if you want to share your solution, select **This page** in the **Feedback** section at the bottom of this page. That creates an issue in this documentation's GitHub repo and lists it in the **Feedback** section on this page too. @@ -954,6 +961,10 @@ In a DOM, each `JsonNode` instance has a For more information, see the [dotnet/runtime #31068 GitHub issue](https://github.com/dotnet/runtime/issues/31068). +## Some limits not configurable + +System.Text.Json sets limits that can't be changed for some values, such as the maximum token size in characters (166 MB) and in base 64 (125 MB). For more information, see [`JsonConstants` in the source code](https://github.com/dotnet/runtime/blob/e5f3fa0ed0f52b5073dbfcc7fa800246b9e17adf/src/libraries/System.Text.Json/src/System/Text/Json/JsonConstants.cs#L75-L78) and GitHub issue [dotnet/runtime #39953](https://github.com/dotnet/runtime/issues/39953). + ## Additional resources * [System.Text.Json overview](system-text-json-overview.md)