aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid <daullmer@gmail.com>2020-07-14 12:39:58 +0200
committerDavid <daullmer@gmail.com>2020-07-14 12:39:58 +0200
commit9f567e6471e2a70aaa3028fb6b183e24987f627b (patch)
treeb27bca762bc5eec440fe074d82d30fb414e64af2
parentee03b919f98032d2c49bd1613a5ca0874790062d (diff)
Don't recreate JsonSerializerOptions every time
-rw-r--r--MediaBrowser.Common/Json/JsonDefaults.cs30
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>