diff options
| -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> |
