稳重的佛珠 · JAR will be empty - ...· 2 天前 · |
憨厚的瀑布 · 如何以【我穿成了耽美文里的恶毒女配】为开头写 ...· 6 月前 · |
强健的硬币 · 2023年NBA总决赛,丹佛掘金与迈阿密热火 ...· 1 年前 · |
还单身的松鼠 · 请与我同眠的句子 - 句子控· 1 年前 · |
爱吹牛的包子 · 斗罗大陆h5神界多久换一次 ...· 1 年前 · |
烦恼的凉面 · 比亚迪史上最好看车型抢先大图解析_车家号_发 ...· 1 年前 · |
我正在研究asp.net核心网络应用程序接口,我是asp.net核心的新手。我做了一个web api,想从web应用程序控制器调用它,它工作得很好。我的问题是我想转换c#对象列表中的json。我已经从web api获得了json格式,但可以将其转换为c#对象列表。我在谷歌上搜索了很多次,到处都能找到一个解决方案,那就是
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# object list中的result(json格式)?
提前谢谢。
发布于 2017-03-03 16:38:31
您需要像这样等待任务:
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);
发布于 2019-01-04 03:40:52
你可以试试这个:
IEnumerable<BusinessUnit> result = await response.Content.ReadAsAsync<IEnumerable<BusinessUnit>>();
干杯。
发布于 2020-04-23 19:44:13
您可以使用.Result转换为字符串:
string XYZ = response.Content.ReadAsStringAsync().Result;
https://stackoverflow.com/questions/42573964
复制相似问题
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2024 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号: 粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
还单身的松鼠 · 请与我同眠的句子 - 句子控 1 年前 |