gpt4 book ai didi

c# - HttpResponseMessage.Content.ReadAsStringAsync 不反序列化来自 CreateErrorResponse 的 JSON

转载 作者:太空狗 更新时间:2023-10-29 20:01:16 25 4
gpt4 key购买 nike

如果我从我的自托管 webapi 返回

Request.CreateResponse(HttpStatusCode.OK, "YAY");

一切都很好..所以我可以这样阅读:

var responseStr = await Client.Content.ReadAsAsync<string>();
and then make something like "MessageBox.Show(responseStr);

如果我回来

Request.CreateErrorResponse(HttpStatusCode.NotFound, "something went wrong!");

我用同样的方式甚至用(不管怎样)读出来:

Client.Content.ReadAsStringAsync();

字符串未反序列化,尝试解析/读取为字符串时出现错误。

如果我将其作为对象读取..没问题..但我无法执行 object.ToString();我得到错误..

为什么?以及如何解决?

最佳答案

我发现返回的JSON中多了'\'和'"'。
因此,在我序列化回一个对象之前,我需要删除多余的字符。

例如

string jsonString = httpResponseMessage.Content.ReadAsStringAsync()
.Result
.Replace("\\", "")
.Trim(new char[1] { '"' });

List<VwAisItemMaster> vwAisItemMasterList = JsonConvert.DeserializeObject<List<VwAisItemMaster>>(jsonString);

关于c# - HttpResponseMessage.Content.ReadAsStringAsync 不反序列化来自 CreateErrorResponse 的 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21906161/

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