# GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoder-1

## Content

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



  <h1 id="GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoder_1" data-uid="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoder`1" class="text-break">JsonCoder&lt;T&gt; Class
</h1>
  <div class="markdown level0 summary"><p>Represents a JSON coder that encodes and decodes objects of type <code class="typeparamref">T</code> to and from JSON variants.</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"><a class="xref" href="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.Coder-2.html">Coder</a>&lt;T, <a class="xref" href="GrapeCity.ActiveReports.Rdl.Json.Common.IJsonVariant.html">IJsonVariant</a>&gt;</div>
    <div class="level2"><span class="xref">JsonCoder&lt;T&gt;</span></div>
  </div>
  <div class="implements">
    <h5>Implements</h5>
    <div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.iequatable-1">IEquatable</a>&lt;<a class="xref" href="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.Coder-2.html">Coder</a>&lt;T, <a class="xref" href="GrapeCity.ActiveReports.Rdl.Json.Common.IJsonVariant.html">IJsonVariant</a>&gt;&gt;</div>
    <div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.iequatable-1">IEquatable</a>&lt;<a class="xref" href="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoder-1.html">JsonCoder</a>&lt;T&gt;&gt;</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_JsonCoder_1_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public sealed record JsonCoder&lt;T&gt; : Coder&lt;T, IJsonVariant&gt;, IEquatable&lt;Coder&lt;T, IJsonVariant&gt;&gt;, IEquatable&lt;JsonCoder&lt;T&gt;&gt;</code></pre>
  </div>
  <h5 class="typeParameters">Type Parameters</h5>
  <table class="table table-bordered table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="parametername">T</span></td>
        <td><p>The type of objects to be encoded and decoded.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 id="GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoder_1_remarks"><strong>Remarks</strong></h5>
  <div class="markdown level0 remarks"><p>This record should not be used directly in application code.It is designed for internal operations within the product
libraries and may change or be removed in future versions without notice.</p>
</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="GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoder_1__ctor_System_Func__0_GrapeCity_ActiveReports_Rdl_Json_Common_IJsonVariant__System_Func_GrapeCity_ActiveReports_Rdl_Json_Common_IJsonVariant__0__" data-uid="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoder`1.#ctor(System.Func{`0,GrapeCity.ActiveReports.Rdl.Json.Common.IJsonVariant},System.Func{GrapeCity.ActiveReports.Rdl.Json.Common.IJsonVariant,`0})">
          <a class="xref" href="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoder-1.-ctor.html#GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoder_1__ctor_System_Func__0_GrapeCity_ActiveReports_Rdl_Json_Common_IJsonVariant__System_Func_GrapeCity_ActiveReports_Rdl_Json_Common_IJsonVariant__0__">JsonCoder(Func&lt;T, IJsonVariant&gt;, Func&lt;IJsonVariant, T&gt;)</a>
        </td>
        <td class="markdown level1 summary"><p>Represents a JSON coder that encodes and decodes objects of type <code class="typeparamref">T</code> to and from JSON variants.</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="GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoder_1_EqualityContract" data-uid="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoder`1.EqualityContract">
          <a class="xref" href="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoder-1.EqualityContract.html#GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoder_1_EqualityContract">EqualityContract</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="GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoder_1_Deconstruct_System_Func__0_GrapeCity_ActiveReports_Rdl_Json_Common_IJsonVariant___System_Func_GrapeCity_ActiveReports_Rdl_Json_Common_IJsonVariant__0___" data-uid="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoder`1.Deconstruct(System.Func{`0,GrapeCity.ActiveReports.Rdl.Json.Common.IJsonVariant}@,System.Func{GrapeCity.ActiveReports.Rdl.Json.Common.IJsonVariant,`0}@)">
          <a class="xref" href="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoder-1.Deconstruct.html#GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoder_1_Deconstruct_System_Func__0_GrapeCity_ActiveReports_Rdl_Json_Common_IJsonVariant___System_Func_GrapeCity_ActiveReports_Rdl_Json_Common_IJsonVariant__0___">Deconstruct(out Func&lt;T, IJsonVariant&gt;, out Func&lt;IJsonVariant, T&gt;)</a>
        </td>
        <td class="markdown level1 summary"></td>
      </tr>
      <tr>
        <td id="GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoder_1_Equals_GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_Coder__0_GrapeCity_ActiveReports_Rdl_Json_Common_IJsonVariant__" data-uid="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoder`1.Equals(GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.Coder{`0,GrapeCity.ActiveReports.Rdl.Json.Common.IJsonVariant})">
          <a class="xref" href="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoder-1.Equals.html#GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoder_1_Equals_GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_Coder__0_GrapeCity_ActiveReports_Rdl_Json_Common_IJsonVariant__">Equals(Coder&lt;T, IJsonVariant&gt;?)</a>
        </td>
        <td class="markdown level1 summary"></td>
      </tr>
      <tr>
        <td id="GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoder_1_Equals_GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoder__0__" data-uid="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoder`1.Equals(GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoder{`0})">
          <a class="xref" href="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoder-1.Equals.html#GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoder_1_Equals_GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoder__0__">Equals(JsonCoder&lt;T&gt;?)</a>
        </td>
        <td class="markdown level1 summary"></td>
      </tr>
      <tr>
        <td id="GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoder_1_Equals_System_Object_" data-uid="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoder`1.Equals(System.Object)">
          <a class="xref" href="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoder-1.Equals.html#GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoder_1_Equals_System_Object_">Equals(object?)</a>
        </td>
        <td class="markdown level1 summary"></td>
      </tr>
      <tr>
        <td id="GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoder_1_GetHashCode" data-uid="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoder`1.GetHashCode">
          <a class="xref" href="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoder-1.GetHashCode.html#GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoder_1_GetHashCode">GetHashCode()</a>
        </td>
        <td class="markdown level1 summary"></td>
      </tr>
      <tr>
        <td id="GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoder_1_PrintMembers_System_Text_StringBuilder_" data-uid="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoder`1.PrintMembers(System.Text.StringBuilder)">
          <a class="xref" href="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoder-1.PrintMembers.html#GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoder_1_PrintMembers_System_Text_StringBuilder_">PrintMembers(StringBuilder)</a>
        </td>
        <td class="markdown level1 summary"></td>
      </tr>
      <tr>
        <td id="GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoder_1_ToString" data-uid="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoder`1.ToString">
          <a class="xref" href="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoder-1.ToString.html#GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoder_1_ToString">ToString()</a>
        </td>
        <td class="markdown level1 summary"></td>
      </tr>
    </tbody>
  </table>
  <h3 id="operators">Operators
</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_JsonCoder_1_op_Equality_GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoder__0__GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoder__0__" data-uid="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoder`1.op_Equality(GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoder{`0},GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoder{`0})">
          <a class="xref" href="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoder-1.op_Equality.html#GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoder_1_op_Equality_GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoder__0__GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoder__0__">operator ==(JsonCoder&lt;T&gt;?, JsonCoder&lt;T&gt;?)</a>
        </td>
        <td class="markdown level1 summary"></td>
      </tr>
      <tr>
        <td id="GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoder_1_op_Inequality_GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoder__0__GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoder__0__" data-uid="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoder`1.op_Inequality(GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoder{`0},GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoder{`0})">
          <a class="xref" href="GrapeCity.ActiveReports.Core.Rdl.Persistence.Json.JsonCoder-1.op_Inequality.html#GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoder_1_op_Inequality_GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoder__0__GrapeCity_ActiveReports_Core_Rdl_Persistence_Json_JsonCoder__0__">operator !=(JsonCoder&lt;T&gt;?, JsonCoder&lt;T&gt;?)</a>
        </td>
        <td class="markdown level1 summary"></td>
      </tr>
    </tbody>
  </table>
  <h3 id="extensionmethods">Extension Methods</h3>
  <div>
      <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_">JsonCoders.Default&lt;T&gt;(JsonCoder&lt;T&gt;, T)</a>
  </div>
  <div>
      <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__">JsonCoders.NullAsUndefined&lt;T&gt;(JsonCoder&lt;T&gt;)</a>
  </div>
  <div>
      <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__">JsonCoders.Optional&lt;T&gt;(JsonCoder&lt;T&gt;)</a>
  </div>
  <div>
      <a class="xref" href="GrapeCity.ActiveReports.Rdl.Tools.CollectionExtensions.AddRange.html#GrapeCity_ActiveReports_Rdl_Tools_CollectionExtensions_AddRange__2___0_System_Collections_Generic_IEnumerable___1__">CollectionExtensions.AddRange&lt;TCollection, TItem&gt;(TCollection, IEnumerable&lt;TItem&gt;)</a>
  </div>

</div>
