我正在尝试使用 JsonTextReader 从 JSON 字符串中读取一个类(我需要在流式 pov 中读取,而不将整个结构加载到内存中)。但似乎 JsonTextReader 不适用于数组,或者我做错了什么,因为有些值不是 Read()。
我的代码:
while (jsonReader.Read())
{
if (jsonReader.Value != null)
Console.WriteLine("Token: {0}, Value: {1}", jsonReader.TokenType, jsonReader.Value);
else
Console.WriteLine("Token: {0}", jsonReader.TokenType);
}
我的 JSON 文件:
{
"employees": [
{
"firstName": "John",
"lastName": "Doe"
},
{
"firstName": "Anna",
"lastName": "Smith"
},
{
"firstName": "Peter",
"lastName": "Jones"
}
]
}
输出:
Token: StartObject
Token: StartArray
Token: StartObject
Token: PropertyName, Value: firstName
Token: PropertyName, Value: lastName
Token: EndObject
Token: StartObject
Token: PropertyName, Value: firstName
Token: PropertyName, Value: lastName
Token: EndObject
Token: StartObject
Token: PropertyName, Value: firstName
Token: PropertyName, Value: lastName
Token: EndObject
Token: EndArray
Token: EndObject
请注意,Jonh、Anna、Doe 等内容不会显示。
知道我该如何解决这个问题吗?我正在避免序列化\反序列化解决方案或 LINQ,因为我无法将整个结构加载到内存中。
谢谢