Bläddra i källkod

Merge pull request #5006 from jellyfin/roundtrip

Use JsonSerializer.SerializeToUtf8Bytes when doing a round trip
dkanada 4 år sedan
förälder
incheckning
ad203d011b

+ 1 - 1
Emby.Server.Implementations/Library/MediaSourceManager.cs

@@ -515,7 +515,7 @@ namespace Emby.Server.Implementations.Library
             }
 
             // TODO: @bond Fix
-            var json = JsonSerializer.Serialize(mediaSource, _jsonOptions);
+            var json = JsonSerializer.SerializeToUtf8Bytes(mediaSource, _jsonOptions);
             _logger.LogInformation("Live stream opened: " + json);
             var clone = JsonSerializer.Deserialize<MediaSourceInfo>(json, _jsonOptions);
 

+ 2 - 2
Emby.Server.Implementations/LiveTv/LiveTvManager.cs

@@ -2239,7 +2239,7 @@ namespace Emby.Server.Implementations.LiveTv
 
         public async Task<TunerHostInfo> SaveTunerHost(TunerHostInfo info, bool dataSourceChanged = true)
         {
-            info = JsonSerializer.Deserialize<TunerHostInfo>(JsonSerializer.Serialize(info));
+            info = JsonSerializer.Deserialize<TunerHostInfo>(JsonSerializer.SerializeToUtf8Bytes(info));
 
             var provider = _tunerHosts.FirstOrDefault(i => string.Equals(info.Type, i.Type, StringComparison.OrdinalIgnoreCase));
 
@@ -2283,7 +2283,7 @@ namespace Emby.Server.Implementations.LiveTv
         {
             // Hack to make the object a pure ListingsProviderInfo instead of an AddListingProvider
             // ServerConfiguration.SaveConfiguration crashes during xml serialization for AddListingProvider
-            info = JsonSerializer.Deserialize<ListingsProviderInfo>(JsonSerializer.Serialize(info));
+            info = JsonSerializer.Deserialize<ListingsProviderInfo>(JsonSerializer.SerializeToUtf8Bytes(info));
 
             var provider = _listingProviders.FirstOrDefault(i => string.Equals(info.Type, i.Type, StringComparison.OrdinalIgnoreCase));
 

+ 1 - 1
MediaBrowser.Controller/Entities/CollectionFolder.cs

@@ -123,7 +123,7 @@ namespace MediaBrowser.Controller.Entities
             {
                 LibraryOptions[path] = options;
 
-                var clone = JsonSerializer.Deserialize<LibraryOptions>(JsonSerializer.Serialize(options, _jsonOptions), _jsonOptions);
+                var clone = JsonSerializer.Deserialize<LibraryOptions>(JsonSerializer.SerializeToUtf8Bytes(options, _jsonOptions), _jsonOptions);
                 foreach (var mediaPath in clone.PathInfos)
                 {
                     if (!string.IsNullOrEmpty(mediaPath.Path))