diff options
| author | Anthony Lavado <anthony@lavado.ca> | 2020-08-08 13:22:36 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-08-08 13:22:36 -0400 |
| commit | b9fdbaeef326a06ba824cbb78a91f58afc535aab (patch) | |
| tree | 915b3f9e787cde081af88465bf9c3f20228be3f3 /MediaBrowser.Common/Json/JsonDefaults.cs | |
| parent | 7e49358ba9c1fcf12f9e7b30601a9df568a65242 (diff) | |
| parent | a15be774ac606ec71f3ab0849a56ae08b8cc2f4d (diff) | |
Merge pull request #3812 from jellyfin/api-migration
Merge API Migration into master
Diffstat (limited to 'MediaBrowser.Common/Json/JsonDefaults.cs')
| -rw-r--r-- | MediaBrowser.Common/Json/JsonDefaults.cs | 33 |
1 files changed, 32 insertions, 1 deletions
diff --git a/MediaBrowser.Common/Json/JsonDefaults.cs b/MediaBrowser.Common/Json/JsonDefaults.cs index 78a458add..36ab6d900 100644 --- a/MediaBrowser.Common/Json/JsonDefaults.cs +++ b/MediaBrowser.Common/Json/JsonDefaults.cs @@ -12,20 +12,51 @@ 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 }; 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; } + + /// <summary> + /// Gets camelCase json options. + /// </summary> + /// <returns>The camelCase <see cref="JsonSerializerOptions" /> options.</returns> + public static JsonSerializerOptions GetCamelCaseOptions() + { + var options = GetOptions(); + options.PropertyNamingPolicy = JsonNamingPolicy.CamelCase; + return options; + } + + /// <summary> + /// Gets PascalCase json options. + /// </summary> + /// <returns>The PascalCase <see cref="JsonSerializerOptions" /> options.</returns> + public static JsonSerializerOptions GetPascalCaseOptions() + { + var options = GetOptions(); + options.PropertyNamingPolicy = null; + return options; + } } } |
