为什么 JsonElement 是 struct 类型?

why JsonElement is struct type?

在许多 JSON 解析器中,json 的元素显示为对象(引用)类型。

但是在 C# 中,System.Text.Json JsonElementstruct 类型。为什么JsonElement是struct类型?

我担心这会导致不必要的内存复制。
如果 JsonElement 有非常大的数据怎么办?如果 JsonElement 的数组包含超过 1000 个对象怎么办?

如果您查看 source code,您会发现 JsonElement 非常轻量级。它只有两个字段:对包含文档的引用和文档的索引。特别是,它直接包含元素的所有数据。

避免了 造成大量内存流失,因为(例如)迭代文档中的所有元素是高效的,而不必创建大量对象.