gpt4 book ai didi

c# - 从 Web 服务反序列化大型 JSON 对象(内存不足)

转载 作者:太空狗 更新时间:2023-10-30 01:19:57 24 4
gpt4 key购买 nike

我有一个程序可以从网络服务中反序列化大型对象。在网络服务调用和 200 之后,代码如下所示。

JsonConvert.DeserializeObject<List<T>>(resp.Content.ReadAsStringAsync().Result).ToList()

有时,在运行此进程时,我会收到一个聚合异常,显示内部异常为内存不足。我无法确定是读取 JSON 数据字符串(可能非常大)还是导致此问题的反序列化过程。我想做的是分解字符串并从响应中单独拉回每个 JSON 对象,然后反序列化它。我只是很难找到一种方法,一次只能从响应中提取一个 JSON 对象。非常感谢任何建议!

最佳答案

HttpClient client = new HttpClient();

using (Stream s = client.GetStreamAsync("http://www.test.com/large.json").Result)
using (StreamReader sr = new StreamReader(s))
using (JsonReader reader = new JsonTextReader(sr))
{
JsonSerializer serializer = new JsonSerializer();

// read the json from a stream
// json size doesn't matter because only a small piece is read at a time from the HTTP request
Person p = serializer.Deserialize<Person>(reader);
}

关于c# - 从 Web 服务反序列化大型 JSON 对象(内存不足),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21151125/

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