gpt4 book ai didi

c# - ReadAsAsync 和 JsonConvert 之间的区别

转载 作者:可可西里 更新时间:2023-11-01 08:25:04 26 4
gpt4 key购买 nike

这适用于所有属性:

string resultAsString = await httpResponseMessage.Content.ReadAsStringAsync();
return await Task.Factory.StartNew(() => JsonConvert.DeserializeObject<ApiData>(resultAsString));

虽然这只适用于其中一些:

return await httpResponseMessage.Content.ReadAsAsync<ApiData>();

有什么区别?

最佳答案

前者从流中异步读取,然后使用线程池线程将JSON字符串反序列化为对象。

后者从流中异步读取,但在等待从流中异步读取后恢复的线程上同步将 JSON 字符串转换为对象。

在内部,这两种方法都将利用 Json.NET 来解析数据,作为扩展方法 HttpContentExtensions.ReadAsAsync<T>将在内部调用 JsonMediaTypeFormatter ,它使用 Json.NET。

就我个人而言,我会使用后者,因为我认为在后台线程上执行序列化没有任何好处。但是,请测试您的代码,看看它是否适合您。

关于c# - ReadAsAsync 和 JsonConvert 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34354986/

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