JSON.NET は、JSON データを処理するための強力なツールを提供します。 このガイドは、連結された JSON オブジェクトのストリームを解析して IEnumerable
コレクションにすることに重点を置いています。
中心的な戦略には、JsonSerializer
を CheckAdditionalContent
に設定して false
を使用することが含まれ、複数のオブジェクトの解析が可能になります。ストリームは StreamReader
でラップされ、JSON データ取り込み用の JsonTextReader
を供給します。
連続ストリームを処理するには、SupportMultipleContent
を true
に設定することが重要です。 よくある落とし穴は、逆シリアル化後にリーダーを適切に進めることができないことです。 解決策は、注意深く構造化されたループの中にあります:
<code class="language-csharp">while (jsonReader.Read()) { yield return serializer.Deserialize<TResult>(jsonReader); }</code>
このループにより、各 JSON オブジェクトが読み取られて TResult
オブジェクトに逆シリアル化され、IEnumerable
コレクション内の各オブジェクトが効率的に生成されます。
重要なことは、ストリームが開いたままである間、IEnumerable
を反復する必要があることを覚えておいてください。 次の例はこれを示しています:
<code class="language-csharp">using (var stream = /* your stream */) { IEnumerable<MyClass> result = ReadJson<MyClass>(stream); foreach (var item in result) { Console.WriteLine(item.MyProperty); } }</code>
詳細情報とその他の例については、次のリソースを参照してください。
以上がJSON.NET を使用して、連結された JSON オブジェクトのストリームを IEnumerable コレクションに解析するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。