JSON.NET を使用して JSON オブジェクト ストリームを解析する
区切り文字を使用せずに JSON オブジェクトの連結ストリームを逆シリアル化する場合、問題は、JSON.NET を使用してそれを正しく処理する方法です。
試みられた解決策には、ストリーム リーダー、JSON テキスト リーダー、およびカスタム ループを使用して、ストリームを IEnumerable
これを修正するには、ループにいくつかの変更を加える必要があります:
<code class="language-csharp">public IEnumerable<TResult> ReadJson<TResult>(Stream stream) { var serializer = new JsonSerializer(); using (var reader = new StreamReader(stream)) using (var jsonReader = new JsonTextReader(reader)) { jsonReader.SupportMultipleContent = true; while (jsonReader.Read()) { yield return serializer.Deserialize<TResult>(jsonReader); } } }</code>
返された IEnumerable
<code class="language-csharp">using (var stream = /* some stream */) { IEnumerable<MyClass> result = ReadJson<MyClass>(stream); foreach (var item in result) { Console.WriteLine(item.MyProperty); } }</code>
https://www.php.cn/link/a3b1c195e3033e5086eb7482c0942e4a.) にあります。
以上がJSON.NETで連結されたJSONオブジェクトのストリームを逆シリアル化する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。