# GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoders

## Content

<div class="doc-site-dotnet-api-container">



  <h1 id="GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoders" data-uid="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoders" class="text-break">JsonCoders Class
</h1>
  <div class="markdown level0 summary"><p>Represents the JSON coders for various data types.</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">JsonCoders</span></div>
  </div>
  <h6><strong>Namespace</strong>: <a class="xref" href="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.html">GrapeCity.ActiveReports.Core.Rdl.Persistence.Json</a></h6>
  <h6><strong>Assembly</strong>: MESCIUS.ActiveReports.Core.Rdl.dll</h6>
  <h5 id="GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoders_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public static class JsonCoders</code></pre>
  </div>
  <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="GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoders_Bool" data-uid="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoders.Bool">
          <a class="xref" href="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoders.Bool.html">Bool</a>
        </td>
        <td class="markdown level1 summary"><p>Gets a coder for the <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.boolean">bool</a> type.</p>
</td>
      </tr>
      <tr>
        <td id="GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoders_BoolDefFalse" data-uid="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoders.BoolDefFalse">
          <a class="xref" href="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoders.BoolDefFalse.html">BoolDefFalse</a>
        </td>
        <td class="markdown level1 summary"><p>Gets a coder for the <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.boolean">bool</a> type with a default value of an <code>false</code>.</p>
</td>
      </tr>
      <tr>
        <td id="GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoders_Double" data-uid="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoders.Double">
          <a class="xref" href="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoders.Double.html">Double</a>
        </td>
        <td class="markdown level1 summary"><p>Gets a coder for the <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.double">double</a> type.</p>
</td>
      </tr>
      <tr>
        <td id="GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoders_Int" data-uid="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoders.Int">
          <a class="xref" href="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoders.Int.html">Int</a>
        </td>
        <td class="markdown level1 summary"><p>Gets a coder for the <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a> type.</p>
</td>
      </tr>
      <tr>
        <td id="GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoders_IntDefZero" data-uid="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoders.IntDefZero">
          <a class="xref" href="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoders.IntDefZero.html">IntDefZero</a>
        </td>
        <td class="markdown level1 summary"><p>Gets a coder for the <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a> type with a default value of <code>0</code>.</p>
</td>
      </tr>
      <tr>
        <td id="GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoders_NullableDouble" data-uid="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoders.NullableDouble">
          <a class="xref" href="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoders.NullableDouble.html">NullableDouble</a>
        </td>
        <td class="markdown level1 summary"><p>Gets a coder for the nullable <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.double">double</a> type.</p>
</td>
      </tr>
      <tr>
        <td id="GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoders_String" data-uid="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoders.String">
          <a class="xref" href="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoders.String.html">String</a>
        </td>
        <td class="markdown level1 summary"><p>Gets a coder for the <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a> type.</p>
</td>
      </tr>
      <tr>
        <td id="GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoders_StringDefEmpty" data-uid="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoders.StringDefEmpty">
          <a class="xref" href="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoders.StringDefEmpty.html">StringDefEmpty</a>
        </td>
        <td class="markdown level1 summary"><p>Gets a coder for the <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a> type with a default value of an empty string.</p>
</td>
      </tr>
      <tr>
        <td id="GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoders_StringDefNull" data-uid="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoders.StringDefNull">
          <a class="xref" href="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoders.StringDefNull.html">StringDefNull</a>
        </td>
        <td class="markdown level1 summary"><p>Gets a coder for the <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a> type with a default value of <code>null</code>.</p>
</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="GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoders_CollectionDefEmpty__2_GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoder___0__" data-uid="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoders.CollectionDefEmpty``2(GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoder{``0})">
          <a class="xref" href="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoders.CollectionDefEmpty.html#GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoders_CollectionDefEmpty__2_GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoder___0__">CollectionDefEmpty&lt;T, TCollection&gt;(JsonCoder&lt;T&gt;)</a>
        </td>
        <td class="markdown level1 summary"><p>Gets a coder for the <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.objectmodel.collection-1">Collection&lt;T&gt;</a> type with a default value of an empty collection.</p>
</td>
      </tr>
      <tr>
        <td id="GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoders_CollectionDefNull__2_GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoder___0__" data-uid="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoders.CollectionDefNull``2(GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoder{``0})">
          <a class="xref" href="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoders.CollectionDefNull.html#GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoders_CollectionDefNull__2_GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoder___0__">CollectionDefNull&lt;T, TCollection&gt;(JsonCoder&lt;T&gt;)</a>
        </td>
        <td class="markdown level1 summary"><p>Gets a coder for the <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.objectmodel.collection-1">Collection&lt;T&gt;</a> type with a default value of <code>null</code>.</p>
</td>
      </tr>
      <tr>
        <td id="GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoders_Collection__2_GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoder___0__" data-uid="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoders.Collection``2(GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoder{``0})">
          <a class="xref" href="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoders.Collection.html#GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoders_Collection__2_GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoder___0__">Collection&lt;T, TCollection&gt;(JsonCoder&lt;T&gt;)</a>
        </td>
        <td class="markdown level1 summary"><p>Gets a coder for the <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.objectmodel.collection-1">Collection&lt;T&gt;</a> type.</p>
</td>
      </tr>
      <tr>
        <td id="GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoders_Default__1_GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoder___0____0_" data-uid="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoders.Default``1(GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoder{``0},``0)">
          <a class="xref" href="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoders.Default.html#GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoders_Default__1_GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoder___0____0_">Default&lt;T&gt;(JsonCoder&lt;T&gt;, T)</a>
        </td>
        <td class="markdown level1 summary"><p>Encodes the specified default value as undefined and skips it during serialization.
During deserialization, the undefined value will be replaced with the specified default value.</p>
</td>
      </tr>
      <tr>
        <td id="GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoders_Enum__1" data-uid="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoders.Enum``1">
          <a class="xref" href="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoders.Enum.html#GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoders_Enum__1">Enum&lt;T&gt;()</a>
        </td>
        <td class="markdown level1 summary"><p>Gets a coder for the <a class="xref" href="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoders.Enum.html#GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoders_Enum__1">Enum&lt;T&gt;()</a> type.</p>
</td>
      </tr>
      <tr>
        <td id="GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoders_ListDefEmpty__1_GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoder___0__" data-uid="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoders.ListDefEmpty``1(GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoder{``0})">
          <a class="xref" href="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoders.ListDefEmpty.html#GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoders_ListDefEmpty__1_GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoder___0__">ListDefEmpty&lt;T&gt;(JsonCoder&lt;T&gt;)</a>
        </td>
        <td class="markdown level1 summary"><p>Gets a coder for the <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.generic.ilist-1">IList&lt;T&gt;</a> type with a default value of empty list.</p>
</td>
      </tr>
      <tr>
        <td id="GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoders_List__1_GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoder___0__" data-uid="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoders.List``1(GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoder{``0})">
          <a class="xref" href="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoders.List.html#GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoders_List__1_GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoder___0__">List&lt;T&gt;(JsonCoder&lt;T&gt;)</a>
        </td>
        <td class="markdown level1 summary"><p>Gets a coder for the <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.generic.ilist-1">IList&lt;T&gt;</a> type.</p>
</td>
      </tr>
      <tr>
        <td id="GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoders_NullAsUndefined__1_GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoder___0__" data-uid="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoders.NullAsUndefined``1(GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoder{``0})">
          <a class="xref" href="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoders.NullAsUndefined.html#GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoders_NullAsUndefined__1_GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoder___0__">NullAsUndefined&lt;T&gt;(JsonCoder&lt;T&gt;)</a>
        </td>
        <td class="markdown level1 summary"><p>if variant value is undefined it will be converted to null instead
During deserialization, the null value will be replaced with the undefiend variant
should be usedin in combination with Default coder</p>
</td>
      </tr>
      <tr>
        <td id="GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoders_Optional__1_GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoder___0__" data-uid="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoders.Optional``1(GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoder{``0})">
          <a class="xref" href="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoders.Optional.html#GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoders_Optional__1_GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoder___0__">Optional&lt;T&gt;(JsonCoder&lt;T&gt;)</a>
        </td>
        <td class="markdown level1 summary"><p>Skips empty objects during serialization and deserializes undefined values as a default object.</p>
</td>
      </tr>
      <tr>
        <td id="GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoders_Optional__1_GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoder___0____0_" data-uid="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoders.Optional``1(GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoder{``0},``0)">
          <a class="xref" href="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoders.Optional.html#GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoders_Optional__1_GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoder___0____0_">Optional&lt;T&gt;(JsonCoder&lt;T&gt;, T)</a>
        </td>
        <td class="markdown level1 summary"><p>Encodes the specified default value as undefined and skips it during serialization.
During deserialization, the undefined value will be replaced with the specified default value.</p>
</td>
      </tr>
    </tbody>
  </table>

</div>
