161 Star 1.4K Fork 398

RHQYZ/DotNetCore.SKIT.FlurlHttpClient.Wechat

 / 详情

代金券查询接口报错

已完成
创建于  
2021-11-11 08:49

问题类型

请在此选择你的问题类型:
其他类型 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.JsonPropertyInfo1.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.JsonConverter1.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.ObjectDefaultConverter1.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.JsonConverter1.ReadCore(Utf8JsonReader& reader, JsonSerializerOptions options, ReadStack& state)

发生问题的运行环境

  1. 操作系统:Windows 10
  2. .NET 版本: .NET 5.0
  3. 使用的模块及版本:SKIT.FlurlHttpClient.Wechat.TenpayV3

补充说明
一定要存在的才会报错

评论 (5)

chenludaniel 创建了任务 3年前
628099 fudiwei 1627875359 RHQYZ 拥有者 3年前

我没有实际调用过这个接口,只能根据微信支付的文档给出的响应示例值封装。

能用 Charles 或者 Finder 抓个包、看下实际返回的 HTTP 响应吗?谢谢。

RHQYZ 添加了
 
bug
标签
3年前
RHQYZ 添加了
 
question
标签
3年前
628099 fudiwei 1627875359 RHQYZ 拥有者 3年前

知道问题了,微信之前的文档给错了,给的示例值长这样:

屏幕截图

现在改成了这样:

屏幕截图

稍后修复。

RHQYZ 移除了
 
question
标签
3年前
RHQYZ 任务状态待办的 修改为进行中 3年前
628099 fudiwei 1627875359 RHQYZ 拥有者 3年前

@chenludaniel 已修复,暂未发版。

除了 GetMarketingFavorStockByStockIdQueryMarketingFavorStocks 这两个接口,还有其他地方有问题吗?我一并改了再发版。

chenludaniel-chenludaniel chenludaniel
回复 RHQYZ 拥有者
3年前

其他的我还没试过呢。等我发现了再提吧

628099 fudiwei 1627875359 RHQYZ 拥有者 3年前

Fix this on release v2.0.1.

RHQYZ 任务状态进行中 修改为已完成 3年前

登录 后才可以发表评论

状态
负责人
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
参与者(2)
628099 fudiwei 1627875359 chenludaniel-chenludaniel
C#
1
https://gitee.com/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat.git
git@gitee.com:fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat.git
fudiwei
DotNetCore.SKIT.FlurlHttpClient.Wechat
DotNetCore.SKIT.FlurlHttpClient.Wechat

搜索帮助