我正在使用 NETCore 3.0 的 System.Text.Json 命名空间中的新 JsonSerializer 来反序列化 Json 文档,如下所示:
var result = JsonSerializer.Deserialize<Response>(json, options);
响应定义为:
public class Response
{
public string Foo { get; set; }
public JsonElement Bar { get; set; }
}
JsonDocument实现 IDisposable的事实让我想知道,如果保留对Bar
可以包含在 JsonDocument 中的元素 () 的引用,是否会造成内存泄漏?
请注意,通常我会避免将数据存储为像这样的“变体”类型。不幸的是,Bar
属性值的结构在编译时是未知的。
我的怀疑源于 System.Text.Json 宣传的懒惰评估的优势,我不确定这是否涉及延迟 I/O。