diff options
| author | Anthony Lavado <anthony@lavado.ca> | 2020-12-08 12:08:24 -0500 |
|---|---|---|
| committer | Joshua M. Boniface <joshua@boniface.me> | 2020-12-13 20:34:32 -0500 |
| commit | 126753a1feb8ff85086259fd8c1fcef85b4df41f (patch) | |
| tree | 4bef3cefcc4ec431a0fa35019afa486d4e9fe2f6 | |
| parent | 24e4fcc3b7e48e482049f51015f3e37b1b2cdb4a (diff) | |
Merge pull request #4735 from crobibero/json-recursion
Fix JsonConverter recursion
(cherry picked from commit 94d805d03d93764365c5b63e23f239d47d23ad0a)
Signed-off-by: Joshua M. Boniface <joshua@boniface.me>
3 files changed, 12 insertions, 3 deletions
diff --git a/Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunHost.cs b/Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunHost.cs index 0f296d989..48bc1efb1 100644 --- a/Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunHost.cs +++ b/Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunHost.cs @@ -342,10 +342,8 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun public string URL { get; set; } - [JsonConverter(typeof(JsonBoolNumberConverter))] public bool Favorite { get; set; } - [JsonConverter(typeof(JsonBoolNumberConverter))] public bool DRM { get; set; } public int HD { get; set; } diff --git a/MediaBrowser.Common/Json/Converters/JsonBoolNumberConverter.cs b/MediaBrowser.Common/Json/Converters/JsonBoolNumberConverter.cs index cb2047049..b29e6a71a 100644 --- a/MediaBrowser.Common/Json/Converters/JsonBoolNumberConverter.cs +++ b/MediaBrowser.Common/Json/Converters/JsonBoolNumberConverter.cs @@ -24,7 +24,7 @@ namespace MediaBrowser.Common.Json.Converters /// <inheritdoc /> public override void Write(Utf8JsonWriter writer, bool value, JsonSerializerOptions options) { - JsonSerializer.Serialize(writer, value, options); + writer.WriteBooleanValue(value); } } }
\ No newline at end of file diff --git a/tests/Jellyfin.Common.Tests/Json/JsonBoolNumberTests.cs b/tests/Jellyfin.Common.Tests/Json/JsonBoolNumberTests.cs index 3779e2d0a..9ded01f2b 100644 --- a/tests/Jellyfin.Common.Tests/Json/JsonBoolNumberTests.cs +++ b/tests/Jellyfin.Common.Tests/Json/JsonBoolNumberTests.cs @@ -19,5 +19,16 @@ namespace Jellyfin.Common.Tests.Json var value = JsonSerializer.Deserialize<bool>(input, options); Assert.Equal(value, output); } + + [Theory] + [InlineData(true, "true")] + [InlineData(false, "false")] + public static void Serialize_Bool_Success(bool input, string output) + { + var options = new JsonSerializerOptions(); + options.Converters.Add(new JsonBoolNumberConverter()); + var value = JsonSerializer.Serialize(input, options); + Assert.Equal(value, output); + } } }
\ No newline at end of file |
