JSON.NET을 사용하여 JSON 개체 스트림 구문 분석
JSON.NET을 사용하여 구분 기호가 없는 연속 JSON 개체 스트림을 다음과 같이 IEnumerable<T>
으로 역직렬화합니다.
<code class="language-csharp">public IEnumerable<TResult> ReadJson<TResult>(Stream stream) { var serializer = new JsonSerializer(); serializer.CheckAdditionalContent = false; 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<T>
을 반복하는 방법을 보여줍니다.
<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>
기타 참고 사항:
IEnumerable<T>
을 반복하세요. CheckAdditionalContent
을 false
으로 설정하면 역직렬화 후 추가 콘텐츠가 발견될 때 예외가 발생하지 않습니다. 예:
JSON.NET 웹사이트에서 "JsonReader를 사용하여 여러 조각 읽기"(https://www.php.cn/link/b0a3f2a0d6f86051e6ab6c49d6d99e75)의 예를 참조하세요.
위 내용은 JSON.NET을 사용하여 연결된 JSON 개체 스트림을 구문 분석하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!