diff options
| author | crobibero <cody@robibe.ro> | 2020-06-03 09:38:49 -0600 |
|---|---|---|
| committer | crobibero <cody@robibe.ro> | 2020-06-03 09:38:49 -0600 |
| commit | 88b6c26472ad57822d3ab79a043db259ffcbb0e3 (patch) | |
| tree | 373e34253736a9d70bf252f0d0e2f76a4b66a5ba /MediaBrowser.Common/Json/JsonDefaults.cs | |
| parent | e02cc8da53ff76a17de52a18ad83e73a1caa6394 (diff) | |
| parent | ab4597958afddb91904c29f5583395ab40918dcb (diff) | |
Merge remote-tracking branch 'remotes/upstream/api-migration' into api-channel
# Conflicts:
# Jellyfin.Server/Extensions/ApiServiceCollectionExtensions.cs
Diffstat (limited to 'MediaBrowser.Common/Json/JsonDefaults.cs')
| -rw-r--r-- | MediaBrowser.Common/Json/JsonDefaults.cs | 35 |
1 files changed, 34 insertions, 1 deletions
diff --git a/MediaBrowser.Common/Json/JsonDefaults.cs b/MediaBrowser.Common/Json/JsonDefaults.cs index 4a6ee0a79..f38e2893e 100644 --- a/MediaBrowser.Common/Json/JsonDefaults.cs +++ b/MediaBrowser.Common/Json/JsonDefaults.cs @@ -12,10 +12,16 @@ namespace MediaBrowser.Common.Json /// <summary> /// Gets the default <see cref="JsonSerializerOptions" /> options. /// </summary> + /// <remarks> + /// When changing these options, update + /// Jellyfin.Server/Extensions/ApiServiceCollectionExtensions.cs + /// -> AddJellyfinApi + /// -> AddJsonOptions + /// </remarks> /// <returns>The default <see cref="JsonSerializerOptions" /> options.</returns> public static JsonSerializerOptions GetOptions() { - var options = new JsonSerializerOptions() + var options = new JsonSerializerOptions { ReadCommentHandling = JsonCommentHandling.Disallow, WriteIndented = false @@ -23,8 +29,35 @@ namespace MediaBrowser.Common.Json options.Converters.Add(new JsonGuidConverter()); options.Converters.Add(new JsonStringEnumConverter()); + options.Converters.Add(new JsonNonStringKeyDictionaryConverterFactory()); return options; } + + /// <summary> + /// Gets CamelCase json options. + /// </summary> + public static JsonSerializerOptions CamelCase + { + get + { + var options = GetOptions(); + options.PropertyNamingPolicy = JsonNamingPolicy.CamelCase; + return options; + } + } + + /// <summary> + /// Gets PascalCase json options. + /// </summary> + public static JsonSerializerOptions PascalCase + { + get + { + var options = GetOptions(); + options.PropertyNamingPolicy = null; + return options; + } + } } } |
