Browse Source

Merge pull request #3961 from crobibero/api-json-null

Ignore null json values
Bond-009 4 years ago
parent
commit
7ce21d436b

+ 3 - 0
Emby.Server.Implementations/Data/SqliteItemRepository.cs

@@ -90,6 +90,9 @@ namespace Emby.Server.Implementations.Data
             _typeMapper = new TypeMapper();
             _typeMapper = new TypeMapper();
             _jsonOptions = JsonDefaults.GetOptions();
             _jsonOptions = JsonDefaults.GetOptions();
 
 
+            // GetItem throws NotSupportedException with this enabled, so hardcode false.
+            _jsonOptions.IgnoreNullValues = false;
+
             DbFilePath = Path.Combine(_config.ApplicationPaths.DataPath, "library.db");
             DbFilePath = Path.Combine(_config.ApplicationPaths.DataPath, "library.db");
         }
         }
 
 

+ 2 - 0
Jellyfin.Server/Extensions/ApiServiceCollectionExtensions.cs

@@ -168,6 +168,8 @@ namespace Jellyfin.Server.Extensions
                     // From JsonDefaults
                     // From JsonDefaults
                     options.JsonSerializerOptions.ReadCommentHandling = jsonOptions.ReadCommentHandling;
                     options.JsonSerializerOptions.ReadCommentHandling = jsonOptions.ReadCommentHandling;
                     options.JsonSerializerOptions.WriteIndented = jsonOptions.WriteIndented;
                     options.JsonSerializerOptions.WriteIndented = jsonOptions.WriteIndented;
+                    options.JsonSerializerOptions.IgnoreNullValues = jsonOptions.IgnoreNullValues;
+
                     options.JsonSerializerOptions.Converters.Clear();
                     options.JsonSerializerOptions.Converters.Clear();
                     foreach (var converter in jsonOptions.Converters)
                     foreach (var converter in jsonOptions.Converters)
                     {
                     {

+ 2 - 1
MediaBrowser.Common/Json/JsonDefaults.cs

@@ -24,7 +24,8 @@ namespace MediaBrowser.Common.Json
             var options = new JsonSerializerOptions
             var options = new JsonSerializerOptions
             {
             {
                 ReadCommentHandling = JsonCommentHandling.Disallow,
                 ReadCommentHandling = JsonCommentHandling.Disallow,
-                WriteIndented = false
+                WriteIndented = false,
+                IgnoreNullValues = true
             };
             };
 
 
             options.Converters.Add(new JsonGuidConverter());
             options.Converters.Add(new JsonGuidConverter());