diff options
| author | David <daullmer@gmail.com> | 2020-07-14 12:39:58 +0200 |
|---|---|---|
| committer | David <daullmer@gmail.com> | 2020-07-14 12:39:58 +0200 |
| commit | 9f567e6471e2a70aaa3028fb6b183e24987f627b (patch) | |
| tree | b27bca762bc5eec440fe074d82d30fb414e64af2 | |
| parent | ee03b919f98032d2c49bd1613a5ca0874790062d (diff) | |
Don't recreate JsonSerializerOptions every time
| -rw-r--r-- | MediaBrowser.Common/Json/JsonDefaults.cs | 30 |
1 files changed, 19 insertions, 11 deletions
diff --git a/MediaBrowser.Common/Json/JsonDefaults.cs b/MediaBrowser.Common/Json/JsonDefaults.cs index 36ab6d900..c8217f9ab 100644 --- a/MediaBrowser.Common/Json/JsonDefaults.cs +++ b/MediaBrowser.Common/Json/JsonDefaults.cs @@ -9,6 +9,8 @@ namespace MediaBrowser.Common.Json /// </summary> public static class JsonDefaults { + private static JsonSerializerOptions _defaultOptions; + /// <summary> /// Gets the default <see cref="JsonSerializerOptions" /> options. /// </summary> @@ -21,20 +23,26 @@ namespace MediaBrowser.Common.Json /// <returns>The default <see cref="JsonSerializerOptions" /> options.</returns> public static JsonSerializerOptions GetOptions() { - var options = new JsonSerializerOptions + if (_defaultOptions == null) { - ReadCommentHandling = JsonCommentHandling.Disallow, - WriteIndented = false - }; + var options = new JsonSerializerOptions + { + ReadCommentHandling = JsonCommentHandling.Disallow, + WriteIndented = false + }; - options.Converters.Add(new JsonGuidConverter()); - options.Converters.Add(new JsonInt32Converter()); - options.Converters.Add(new JsonStringEnumConverter()); - options.Converters.Add(new JsonNonStringKeyDictionaryConverterFactory()); - options.Converters.Add(new JsonInt64Converter()); - options.Converters.Add(new JsonDoubleConverter()); + options.Converters.Add(new JsonGuidConverter()); + options.Converters.Add(new JsonInt32Converter()); + options.Converters.Add(new JsonStringEnumConverter()); + options.Converters.Add(new JsonNonStringKeyDictionaryConverterFactory()); + options.Converters.Add(new JsonInt64Converter()); + options.Converters.Add(new JsonDoubleConverter()); - return options; + _defaultOptions = options; + return _defaultOptions; + } + + return _defaultOptions; } /// <summary> |
