gpt4 book ai didi

asp.net - 从response.Content.ReadAsStringAsync()获取C#对象列表

转载 作者:行者123 更新时间:2023-12-03 16:40:28 24 4
gpt4 key购买 nike

我在asp.net核心网络api上工作,而我在asp.net核心中是新手。我制作了一个Web API,想从Web应用程序 Controller 中调用它,并且效果很好。我的问题是我想在C#对象列表中转换json。我已经从Web API获得json格式,但是可以将其转换为C#对象列表。我在Google上搜索了很多,然后在各处找到了一个解决方案,那就是

  JsonConvert.DeserializeObject<BusinessUnit>(result);  

这对我不起作用。我的代码:
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
var response = await client.GetAsync(baseAddress + "/api/BusinessUnit");
var result = response.Content.ReadAsStringAsync();
List<BusinessUnit> businessunits = JsonConvert.DeserializeObject<BusinessUnit>(result); //result shows error because it needs string as parameter.

我仍在尝试,但可以解决此问题。
如何在C#对象列表“businessunits”中转换“结果(json格式)”?

提前致谢。

最佳答案

您需要像这样等待任务:

var result = await response.Content.ReadAsStringAsync();

有使用 var的危险,因为现在可以将类型推断为 Task<string>。如果您尝试过:
string result = response.Content.ReadAsStringAsync();

它将立即给您一个错误,它无法将 Task<string>转换为 string

编辑:您遇到的另一个错误是,您试图将JSON反序列化为实际上是数组的对象。
List<BusinessUnit> businessunits = JsonConvert.DeserializeObject<List<BusinessUnit>>(result);

关于asp.net - 从response.Content.ReadAsStringAsync()获取C#对象列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42573964/

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