gpt4 book ai didi

c#-4.0 - HttpClient 响应 ReadAsAsync() 未完全反序列化对象

转载 作者:行者123 更新时间:2023-12-02 14:36:13 26 4
gpt4 key购买 nike

我正在尝试通过 Web API 客户端库使用 Web 服务。我的问题是,当提交函数使用 POST 方法时,ReadAsAsync 似乎不想完全反序列化返回的对象。

如果我得到字符串形式的响应并手动解除序列化,它就可以工作。 (我收到一条 apmsgMessage,其中填充了所有字段)

HttpClient client = GetClient();
var response = client.PostAsJsonAsync("api/robot/Preview", ad).Result;
var msg = response.Content.ReadAsStringAsync();
return JsonConvert.DeserializeObject<apmsgMessage>(msg.Result);

我最初尝试了下面的代码,该代码返回 apmsgMessage 对象,但所有字段均为空。

HttpClient client = GetClient();
var response = client.PostAsJsonAsync("api/robot/Preview", ad).Result;
var msg = response.Content.ReadAsAsync<apmsgMessage>().Result;
return msg;

我的问题是为什么我的原始(PostAsJsonAsync)不返回完全填充的apmsgMessage。我在 ReadAsAsync 方面做错了什么吗?

最佳答案

我刚刚遇到了同样的问题,在我的例子中,我通过从类中删除 [Serialized] 属性来解决它。

我不知道为什么这个属性与反序列化过程冲突,但是当我把它拿出来后,ReadAsAsync方法就按预期工作了。

关于c#-4.0 - HttpClient 响应 ReadAsAsync() 未完全反序列化对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15034437/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com