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