问题类型
请在此选择你的问题类型:
其他类型 Issue:遇到了问题,需要帮助。
关于问题或建议的简单描述
我在调用ExecuteGetMarketingFavorStockByStockIdAsync方法后,如果正常存在,返回结果异常。相关其他代金券查询也有相同问题,json转换时候报异常
与问题或建议相关的源代码
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<string[]>(value, options);
if (string.IsNullOrEmpty(value))
return new string[0];
else
return new string[1] { value };
}
throw new JsonException();
}
异常堆栈或异常原因
请在此填写你遇到的问题抛出错误时的异常消息和堆栈跟踪(如果有的话)。
Exception of type 'System.Text.Json.JsonException' was thrown.
at System.Text.Json.Converters.JsonTypedStringArrayConverter.Read(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options) in E:\Projects\dd\DotNetCore.SKIT.FlurlHttpClient.Wechat-main\src\SKIT.FlurlHttpClient.Wechat.TenpayV3\Converters\System.Text.Json\Array[string]\JsonTypedStringArrayConverter.cs:line 32
at System.Text.Json.Serialization.JsonConverter1.TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value) at System.Text.Json.JsonPropertyInfo
1.ReadJsonAndSetMember(Object obj, ReadStack& state, Utf8JsonReader& reader)
at System.Text.Json.Serialization.Converters.ObjectDefaultConverter1.OnTryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value) at System.Text.Json.Serialization.JsonConverter
1.TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
at System.Text.Json.JsonPropertyInfo1.ReadJsonAndSetMember(Object obj, ReadStack& state, Utf8JsonReader& reader) at System.Text.Json.Serialization.Converters.ObjectDefaultConverter
1.OnTryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
at System.Text.Json.Serialization.JsonConverter1.TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value) at System.Text.Json.Serialization.JsonConverter
1.ReadCore(Utf8JsonReader& reader, JsonSerializerOptions options, ReadStack& state)
发生问题的运行环境
补充说明
一定要存在的才会报错
我没有实际调用过这个接口,只能根据微信支付的文档给出的响应示例值封装。
能用 Charles 或者 Finder 抓个包、看下实际返回的 HTTP 响应吗?谢谢。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
知道问题了,微信之前的文档给错了,给的示例值长这样:
现在改成了这样:
稍后修复。
@chenludaniel 已修复,暂未发版。
除了 GetMarketingFavorStockByStockId
、QueryMarketingFavorStocks
这两个接口,还有其他地方有问题吗?我一并改了再发版。
其他的我还没试过呢。等我发现了再提吧
Fix this on release v2.0.1.
登录 后才可以发表评论