JsonTextReader を使用して JSON 文字列から読み取るクラスを試みています (構造全体をメモリにロードせずに、ストリーミング pov を読み取る必要があります)。しかし、Read() ではない値があるため、JsonTextReader が配列でうまく機能しないか、何か間違っているようです。
私のコード:
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 を避けています。
ありがとう