# C1.DataConnector.JsonStreamParser

## Content

<div class="doc-site-dotnet-api-container">



  <h1 id="C1_DataConnector_JsonStreamParser" data-uid="C1.DataConnector.JsonStreamParser" class="text-break">JsonStreamParser Class
</h1>
  <div class="markdown level0 summary"><p>Json streaming fashion parser</p>
</div>
  <div class="markdown level0 conceptual"></div>
  <div class="inheritance">
    <h5>Inheritance</h5>
    <div class="level0"><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a></div>
    <div class="level1"><span class="xref">JsonStreamParser</span></div>
  </div>
  <h6><strong>Namespace</strong>: <a class="xref" href="C1.DataConnector.html">C1.DataConnector</a></h6>
  <h6><strong>Assembly</strong>: C1.DataConnector.dll</h6>
  <h5 id="C1_DataConnector_JsonStreamParser_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public class JsonStreamParser</code></pre>
  </div>
  <div class="codewrapper">
    <pre><code class="lang-vbnet hljs">Public Class JsonStreamParser</code></pre>
  </div>
  <h3 id="constructors">Constructors
</h3>
  <table class="table table-bordered table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td id="C1_DataConnector_JsonStreamParser__ctor" data-uid="C1.DataConnector.JsonStreamParser.#ctor">
          <a class="xref" href="C1.DataConnector.JsonStreamParser.-ctor.html#C1_DataConnector_JsonStreamParser__ctor">JsonStreamParser()</a>
        </td>
        <td class="markdown level1 summary"><p>Initialize a new JsonStreamParser instance which will parse at the root of the JSON file.</p>
</td>
      </tr>
      <tr>
        <td id="C1_DataConnector_JsonStreamParser__ctor_System_Collections_IList_" data-uid="C1.DataConnector.JsonStreamParser.#ctor(System.Collections.IList)">
          <a class="xref" href="C1.DataConnector.JsonStreamParser.-ctor.html#C1_DataConnector_JsonStreamParser__ctor_System_Collections_IList_">JsonStreamParser(IList)</a>
        </td>
        <td class="markdown level1 summary"><p>Initialize a new JsonStreamParser instance which will parse at a specific repeatXPath elements.</p>
</td>
      </tr>
      <tr>
        <td id="C1_DataConnector_JsonStreamParser__ctor_System_String_" data-uid="C1.DataConnector.JsonStreamParser.#ctor(System.String)">
          <a class="xref" href="C1.DataConnector.JsonStreamParser.-ctor.html#C1_DataConnector_JsonStreamParser__ctor_System_String_">JsonStreamParser(string)</a>
        </td>
        <td class="markdown level1 summary"><p>Initialize a new JsonStreamParser instance which will parse at a specific repeatXPath.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h3 id="fields">Fields
</h3>
  <table class="table table-bordered table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td id="C1_DataConnector_JsonStreamParser_DateParsingHandler" data-uid="C1.DataConnector.JsonStreamParser.DateParsingHandler">
          <a class="xref" href="C1.DataConnector.JsonStreamParser.DateParsingHandler.html">DateParsingHandler</a>
        </td>
        <td class="markdown level1 summary"><p>Specify if dates are formatted.</p>
</td>
      </tr>
      <tr>
        <td id="C1_DataConnector_JsonStreamParser_JSON_ROOT" data-uid="C1.DataConnector.JsonStreamParser.JSON_ROOT">
          <a class="xref" href="C1.DataConnector.JsonStreamParser.JSON_ROOT.html">JSON_ROOT</a>
        </td>
        <td class="markdown level1 summary"><p>the root jsonpath</p>
</td>
      </tr>
      <tr>
        <td id="C1_DataConnector_JsonStreamParser__flattenObjects" data-uid="C1.DataConnector.JsonStreamParser._flattenObjects">
          <a class="xref" href="C1.DataConnector.JsonStreamParser._flattenObjects.html">_flattenObjects</a>
        </td>
        <td class="markdown level1 summary"><p>whether to flatten objects</p>
</td>
      </tr>
      <tr>
        <td id="C1_DataConnector_JsonStreamParser__includeParentJsonPath" data-uid="C1.DataConnector.JsonStreamParser._includeParentJsonPath">
          <a class="xref" href="C1.DataConnector.JsonStreamParser._includeParentJsonPath.html">_includeParentJsonPath</a>
        </td>
        <td class="markdown level1 summary"><p>whether to include the parent json path</p>
</td>
      </tr>
    </tbody>
  </table>
  <h3 id="properties">Properties
</h3>
  <table class="table table-bordered table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td id="C1_DataConnector_JsonStreamParser_DefaultColumns" data-uid="C1.DataConnector.JsonStreamParser.DefaultColumns">
          <a class="xref" href="C1.DataConnector.JsonStreamParser.DefaultColumns.html#C1_DataConnector_JsonStreamParser_DefaultColumns">DefaultColumns</a>
        </td>
        <td class="markdown level1 summary"><p>Prepopulate the dictionary with a default list of columns, especially useful for handling JSON with hidden null values.</p>
</td>
      </tr>
      <tr>
        <td id="C1_DataConnector_JsonStreamParser_HasNext" data-uid="C1.DataConnector.JsonStreamParser.HasNext">
          <a class="xref" href="C1.DataConnector.JsonStreamParser.HasNext.html#C1_DataConnector_JsonStreamParser_HasNext">HasNext</a>
        </td>
        <td class="markdown level1 summary"><p>If there is a next page</p>
</td>
      </tr>
      <tr>
        <td id="C1_DataConnector_JsonStreamParser_JsonKeyValue" data-uid="C1.DataConnector.JsonStreamParser.JsonKeyValue">
          <a class="xref" href="C1.DataConnector.JsonStreamParser.JsonKeyValue.html#C1_DataConnector_JsonStreamParser_JsonKeyValue">JsonKeyValue</a>
        </td>
        <td class="markdown level1 summary"><p>Contain the next page link</p>
</td>
      </tr>
      <tr>
        <td id="C1_DataConnector_JsonStreamParser_ObjectSeparator" data-uid="C1.DataConnector.JsonStreamParser.ObjectSeparator">
          <a class="xref" href="C1.DataConnector.JsonStreamParser.ObjectSeparator.html#C1_DataConnector_JsonStreamParser_ObjectSeparator">ObjectSeparator</a>
        </td>
        <td class="markdown level1 summary"><p>The separator that separates a flatten object</p>
</td>
      </tr>
      <tr>
        <td id="C1_DataConnector_JsonStreamParser_OtherPropertyXPath" data-uid="C1.DataConnector.JsonStreamParser.OtherPropertyXPath">
          <a class="xref" href="C1.DataConnector.JsonStreamParser.OtherPropertyXPath.html#C1_DataConnector_JsonStreamParser_OtherPropertyXPath">OtherPropertyXPath</a>
        </td>
        <td class="markdown level1 summary"><p>Next Page XPath</p>
</td>
      </tr>
      <tr>
        <td id="C1_DataConnector_JsonStreamParser_OutputItemList" data-uid="C1.DataConnector.JsonStreamParser.OutputItemList">
          <a class="xref" href="C1.DataConnector.JsonStreamParser.OutputItemList.html#C1_DataConnector_JsonStreamParser_OutputItemList">OutputItemList</a>
        </td>
        <td class="markdown level1 summary"><p>the list when no event is specified</p>
</td>
      </tr>
      <tr>
        <td id="C1_DataConnector_JsonStreamParser_ReturnSingleFields" data-uid="C1.DataConnector.JsonStreamParser.ReturnSingleFields">
          <a class="xref" href="C1.DataConnector.JsonStreamParser.ReturnSingleFields.html#C1_DataConnector_JsonStreamParser_ReturnSingleFields">ReturnSingleFields</a>
        </td>
        <td class="markdown level1 summary"></td>
      </tr>
    </tbody>
  </table>
  <h3 id="methods">Methods
</h3>
  <table class="table table-bordered table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td id="C1_DataConnector_JsonStreamParser_Parse_System_IO_Stream_System_Text_Encoding_" data-uid="C1.DataConnector.JsonStreamParser.Parse(System.IO.Stream,System.Text.Encoding)">
          <a class="xref" href="C1.DataConnector.JsonStreamParser.Parse.html#C1_DataConnector_JsonStreamParser_Parse_System_IO_Stream_System_Text_Encoding_">Parse(Stream, Encoding)</a>
        </td>
        <td class="markdown level1 summary"><p>Takes a Newtonsoft.Json.JsonTextReader instance as argument and starts a streaming parsing process.
Every each successfully parsed object, an IParser.FireItem() event will be triggered.</p>
</td>
      </tr>
      <tr>
        <td id="C1_DataConnector_JsonStreamParser_ParseSubarray_Newtonsoft_Json_JsonTextReader_System_Text_Encoding_" data-uid="C1.DataConnector.JsonStreamParser.ParseSubarray(Newtonsoft.Json.JsonTextReader,System.Text.Encoding)">
          <a class="xref" href="C1.DataConnector.JsonStreamParser.ParseSubarray.html#C1_DataConnector_JsonStreamParser_ParseSubarray_Newtonsoft_Json_JsonTextReader_System_Text_Encoding_">ParseSubarray(JsonTextReader, Encoding)</a>
        </td>
        <td class="markdown level1 summary"><p>Takes a Newtonsoft.Json.JsonTextReader instance as argument and starts a streaming parsing process.
Every each successfully parsed object, an IParser.FireItem() event will be triggered.</p>
</td>
      </tr>
      <tr>
        <td id="C1_DataConnector_JsonStreamParser_SetFlattenObjects_System_Boolean_" data-uid="C1.DataConnector.JsonStreamParser.SetFlattenObjects(System.Boolean)">
          <a class="xref" href="C1.DataConnector.JsonStreamParser.SetFlattenObjects.html#C1_DataConnector_JsonStreamParser_SetFlattenObjects_System_Boolean_">SetFlattenObjects(bool)</a>
        </td>
        <td class="markdown level1 summary"><p>Indicates if the JSON objects should be flattened or not.</p>
</td>
      </tr>
      <tr>
        <td id="C1_DataConnector_JsonStreamParser_SetIncludeParentJsonPath_System_Boolean_" data-uid="C1.DataConnector.JsonStreamParser.SetIncludeParentJsonPath(System.Boolean)">
          <a class="xref" href="C1.DataConnector.JsonStreamParser.SetIncludeParentJsonPath.html#C1_DataConnector_JsonStreamParser_SetIncludeParentJsonPath_System_Boolean_">SetIncludeParentJsonPath(bool)</a>
        </td>
        <td class="markdown level1 summary"><p>Indicates if the response should contain the Parent Json Path.</p>
</td>
      </tr>
      <tr>
        <td id="C1_DataConnector_JsonStreamParser_SetMaxItems_System_Int32_" data-uid="C1.DataConnector.JsonStreamParser.SetMaxItems(System.Int32)">
          <a class="xref" href="C1.DataConnector.JsonStreamParser.SetMaxItems.html#C1_DataConnector_JsonStreamParser_SetMaxItems_System_Int32_">SetMaxItems(int)</a>
        </td>
        <td class="markdown level1 summary"><p>Set the maximum number of items to parse. Since the data can be extremely large in some cases, we may want to parse a specific portion of it.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h3 id="events">Events
</h3>
  <table class="table table-bordered table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td id="C1_DataConnector_JsonStreamParser_OnItemFired" data-uid="C1.DataConnector.JsonStreamParser.OnItemFired">
          <a class="xref" href="C1.DataConnector.JsonStreamParser.OnItemFired.html">OnItemFired</a>
        </td>
        <td class="markdown level1 summary"><p>The OnItemFired event</p>
</td>
      </tr>
    </tbody>
  </table>

</div>
