【发布时间】:2021-11-02 03:07:18
【问题描述】:
所以我将从某个请求中获取 JSON 作为字符串。它的格式如下:
{
"Name" : "SomeName",
"Version" : "V0001",
"Year" : "1999",
"MoreComplicatedObjects" : {...}
}
这个传入的 JSON 将非常大,我想看看是否可以在不执行 JObject.Parse(string) 的情况下获取名称、版本和年份。我只是有点担心可能不得不解析整个字符串,而我只能得到我需要的东西并完成它。谢谢!
【问题讨论】:
-
好吧,
JObject.Parse使用JsonTextReader,所以没有什么可以阻止您自己在较低级别阅读 JSON。 -
只需使用所需属性创建模型并忽略其他属性,然后解析 json 对象。
-
@Abu 您确定它们实际上在解析器级别被忽略了吗?我通过设置
MaxDepth = 1做了一个最小的测试,即使模型不包含更深的领域,我仍然遇到异常。 New example:模型中没有引用Nested属性,但仍然抛出异常。我看到这种情况发生的唯一方法是 JSON.NET 是否仍然在内部解析所有这些。 -
@jimonthycricket,能否请您发布完整的 json 对象,包括您要解析的部分。