>백엔드 개발 >C++ >JSON.NET을 사용하여 연결된 JSON 개체 스트림을 구문 분석하는 방법은 무엇입니까?

JSON.NET을 사용하여 연결된 JSON 개체 스트림을 구문 분석하는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2025-01-09 21:16:41227검색

How to Parse a Stream of Concatenated JSON Objects with JSON.NET?

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>을 반복하세요.
  • CheckAdditionalContentfalse으로 설정하면 역직렬화 후 추가 콘텐츠가 발견될 때 예외가 발생하지 않습니다.

예:

JSON.NET 웹사이트에서 "JsonReader를 사용하여 여러 조각 읽기"(https://www.php.cn/link/b0a3f2a0d6f86051e6ab6c49d6d99e75)의 예를 참조하세요.

위 내용은 JSON.NET을 사용하여 연결된 JSON 개체 스트림을 구문 분석하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.