ホームページ > バックエンド開発 > C++ > JSON.NET を使用して、連結された JSON オブジェクトのストリームを IEnumerable コレクションに解析するにはどうすればよいですか?

JSON.NET を使用して、連結された JSON オブジェクトのストリームを IEnumerable コレクションに解析するにはどうすればよいですか?

Linda Hamilton
リリース: 2025-01-09 21:44:44
オリジナル
569 人が閲覧しました

How Can I Parse a Stream of Concatenated JSON Objects into an IEnumerable Collection Using JSON.NET?

JSON.NET を使用した連結された JSON オブジェクトの効率的な解析

JSON.NET は、JSON データを処理するための強力なツールを提供します。 このガイドは、連結された JSON オブジェクトのストリームを解析して IEnumerable コレクションにすることに重点を置いています。

中心的な戦略には、JsonSerializerCheckAdditionalContent に設定して false を使用することが含まれ、複数のオブジェクトの解析が可能になります。ストリームは StreamReader でラップされ、JSON データ取り込み用の JsonTextReader を供給します。

連続ストリームを処理するには、SupportMultipleContenttrue に設定することが重要です。 よくある落とし穴は、逆シリアル化後にリーダーを適切に進めることができないことです。 解決策は、注意深く構造化されたループの中にあります:

while (jsonReader.Read())
{
    yield return serializer.Deserialize<TResult>(jsonReader);
}
ログイン後にコピー

このループにより、各 JSON オブジェクトが読み取られて TResult オブジェクトに逆シリアル化され、IEnumerable コレクション内の各オブジェクトが効率的に生成されます。

重要なことは、ストリームが開いたままである間、IEnumerable を反復する必要があることを覚えておいてください。 次の例はこれを示しています:

using (var stream = /* your stream */)
{
    IEnumerable<MyClass> result = ReadJson<MyClass>(stream);

    foreach (var item in result)
    {
        Console.WriteLine(item.MyProperty);
    }
}
ログイン後にコピー

詳細情報とその他の例については、次のリソースを参照してください。

以上がJSON.NET を使用して、連結された JSON オブジェクトのストリームを IEnumerable コレクションに解析するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
関連するチュートリアル
人気のおすすめ
最新のコース
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート