diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Converters/Newtonsoft.Json/Array[string]/JsonTypedStringArrayConverter.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Converters/Newtonsoft.Json/Array[string]/JsonTypedStringArrayConverter.cs deleted file mode 100644 index 7658e293..00000000 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Converters/Newtonsoft.Json/Array[string]/JsonTypedStringArrayConverter.cs +++ /dev/null @@ -1,52 +0,0 @@ -using System; -using System.Collections.Generic; -using Newtonsoft.Json; -using Newtonsoft.Json.Converters; - -namespace Newtonsoft.Json.Converters -{ - internal class JsonTypedStringArrayConverter : JsonConverter - { - public override bool CanRead - { - get { return true; } - } - - public override bool CanWrite - { - get { return true; } - } - - public override string[]? ReadJson(JsonReader reader, Type objectType, string[]? existingValue, bool hasExistingValue, JsonSerializer serializer) - { - if (reader.TokenType == JsonToken.Null) - { - return null; - } - else if (reader.TokenType == JsonToken.String) - { - string? value = serializer.Deserialize(reader); - if (value == null) - return existingValue; - - if (value.StartsWith("[") && value.EndsWith("[")) - return JsonConvert.DeserializeObject(value); - - if (string.IsNullOrEmpty(value)) - return new string[0]; - else - return new string[1] { value }; - } - - throw new JsonReaderException(); - } - - public override void WriteJson(JsonWriter writer, string[]? value, JsonSerializer serializer) - { - if (value != null) - writer.WriteValue(JsonConvert.SerializeObject(value, Formatting.None)); - else - writer.WriteNull(); - } - } -} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Converters/System.Text.Json/Array[string]/JsonTypedStringArrayConverter.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Converters/System.Text.Json/Array[string]/JsonTypedStringArrayConverter.cs deleted file mode 100644 index c15ea983..00000000 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Converters/System.Text.Json/Array[string]/JsonTypedStringArrayConverter.cs +++ /dev/null @@ -1,42 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text.Json; -using System.Text.Json.Serialization; - -namespace System.Text.Json.Converters -{ - internal class JsonTypedStringArrayConverter : JsonConverter - { - public override string[]? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) - { - if (reader.TokenType == JsonTokenType.Null) - { - return null; - } - else if (reader.TokenType == JsonTokenType.String) - { - string? value = reader.GetString(); - if (value == null) - return null; - - if (value.StartsWith("[") && value.EndsWith("[")) - return JsonSerializer.Deserialize(value, options); - - if (string.IsNullOrEmpty(value)) - return new string[0]; - else - return new string[1] { value }; - } - - throw new JsonException(); - } - - public override void Write(Utf8JsonWriter writer, string[]? value, JsonSerializerOptions options) - { - if (value != null) - writer.WriteStringValue(JsonSerializer.Serialize(value, options)); - else - writer.WriteNullValue(); - } - } -} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingFavor/GetMarketingFavorStockByStockIdResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingFavor/GetMarketingFavorStockByStockIdResponse.cs index bd6ac0d6..4331d483 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingFavor/GetMarketingFavorStockByStockIdResponse.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingFavor/GetMarketingFavorStockByStockIdResponse.cs @@ -85,9 +85,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models /// 获取或设置指定支付方式列表。 /// [Newtonsoft.Json.JsonProperty("trade_type")] - [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.JsonTypedStringArrayConverter))] [System.Text.Json.Serialization.JsonPropertyName("trade_type")] - [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.JsonTypedStringArrayConverter))] public string[]? TradeTypeList { get; set; } /// diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingFavor/GetMarketingFavorStockByStockIdResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingFavor/GetMarketingFavorStockByStockIdResponse.json index f81303ab..af089bc1 100644 --- a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingFavor/GetMarketingFavorStockByStockIdResponse.json +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingFavor/GetMarketingFavorStockByStockIdResponse.json @@ -10,7 +10,7 @@ "max_amount": 5000, "max_amount_by_day": 400, "max_coupons_per_user": 3, - "trade_type": "MICROAPP" + "trade_type": [ "OTHER", "APPPAY" ] }, "available_begin_time": "2015-05-20T13:29:35.120+08:00", "available_end_time": "2015-05-20T13:29:35.120+08:00", diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingFavor/QueryMarketingFavorStocksResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingFavor/QueryMarketingFavorStocksResponse.json index 509d506f..a0278b85 100644 --- a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingFavor/QueryMarketingFavorStocksResponse.json +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingFavor/QueryMarketingFavorStocksResponse.json @@ -17,16 +17,17 @@ "transaction_minimum": 100 }, "max_coupons_per_user": 3, - "trade_type": "APPPAY" + "trade_type": [ "OTHER", "APPPAY" ] }, "available_begin_time": "2015-05-20T13:29:35.120+08:00", "available_end_time": "2015-05-20T13:29:35.120+08:00", "distributed_coupons": 100, "no_cash": true, - "singleitem": true, + "singleitem ": true, "stock_type": "NORMAL" } ], "limit": 8, "offset": 1 -} \ No newline at end of file +} + \ No newline at end of file