1

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 を避けています。

ありがとう

4

1 に答える 1