<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/ref.bson.functions.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'pt_BR',
  ),
  'this' => 
  array (
    0 => 'function.mongodb.bson-tocanonicalextendedjson.php',
    1 => 'MongoDB\\BSON\\toCanonicalExtendedJSON',
    2 => 'Retorna a representa&ccedil;&atilde;o JSON Estendida Can&ocirc;nica de um valor BSON',
  ),
  'up' => 
  array (
    0 => 'ref.bson.functions.php',
    1 => 'Fun&ccedil;&otilde;es',
  ),
  'prev' => 
  array (
    0 => 'function.mongodb.bson-fromphp.php',
    1 => 'MongoDB\\BSON\\fromPHP',
  ),
  'next' => 
  array (
    0 => 'function.mongodb.bson-tojson.php',
    1 => 'MongoDB\\BSON\\toJSON',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'pt_BR',
    'path' => 'reference/mongodb/functions/bson/tocanonicalextendedjson.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="function.mongodb.bson-tocanonicalextendedjson" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">MongoDB\BSON\toCanonicalExtendedJSON</h1>
  <p class="verinfo">(mongodb &gt;=1.3.0)</p><p class="refpurpose"><span class="refname">MongoDB\BSON\toCanonicalExtendedJSON</span> &mdash; <span class="dc-title">Retorna a representação JSON Estendida Canônica de um valor BSON</span></p>

 </div>

 <div id="function.mongodb.bson-tocanonicalextendedjson-refsynopsisdiv">
  <div class="warning"><strong class="warning">Aviso</strong>
   <p class="para">
    Esta função foi <em>DESCONTINUADA</em> a partir da versão
    1.20.0 da extensão, e foi removida na 2.0. As aplicações devem usar
    <span class="methodname"><a href="mongodb-bson-document.tocanonicalextendedjson.php" class="methodname">MongoDB\BSON\Document::toCanonicalExtendedJSON()</a></span>
    em seu lugar.
   </p>
  </div>
 </div>

 <div class="refsect1 description" id="refsect1-function.mongodb.bson-tocanonicalextendedjson-description">
  <h3 class="title">Descrição</h3>
  <div class="methodsynopsis dc-description">
   <span class="methodname"><strong>MongoDB\BSON\toCanonicalExtendedJSON</strong></span>(<span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$bson</code></span>): <span class="type"><a href="language.types.string.php" class="type string">string</a></span></div>

  <p class="para rdfs-comment">
   Converte uma string BSON em sua
   representação <a href="https://github.com/mongodb/specifications/blob/master/source/extended-json/extended-json.md#canonical-extended-json-example" class="link external">&raquo;&nbsp;JSON Estendida Canônica</a>.
   O formato canônico prefere a fidelidade de tipo em detrimento do
   resultado conciso e é mais adequado para produzir resultado que possa ser convertido
   de volta para BSON sem qualquer perda de informação de tipo (por exemplo, os tipos numéricos
   permanecerão diferenciados).
  </p>
 </div>


 <div class="refsect1 parameters" id="refsect1-function.mongodb.bson-tocanonicalextendedjson-parameters">
  <h3 class="title">Parâmetros</h3>
  <dl>
   
    <dt><code class="parameter">bson</code> (<span class="type"><a href="language.types.string.php" class="type string">string</a></span>)</dt>
    <dd>
     <p class="para">
      Valor BSON a ser convertido.
     </p>
    </dd>
   
  </dl>
 </div>


 <div class="refsect1 returnvalues" id="refsect1-function.mongodb.bson-tocanonicalextendedjson-returnvalues">
  <h3 class="title">Valor Retornado</h3>
  <p class="para">
   O valor JSON convertido.
  </p>
 </div>


 <div class="refsect1 errors" id="refsect1-function.mongodb.bson-tocanonicalextendedjson-errors">
  <h3 class="title">Erros/Exceções</h3>
  <ul class="simplelist">
   <li>Lança uma exceção <span class="classname"><a href="class.mongodb-driver-exception-unexpectedvalueexception.php" class="classname">MongoDB\Driver\Exception\UnexpectedValueException</a></span> se a entrada não contiver exatamente um documento BSON. Os possíveis motivos incluem, mas não estão limitados a, BSON inválido, dados extras (depois de ler um documento BSON) ou um erro inesperado da <a href="https://github.com/mongodb/mongo-c-driver/tree/master/src/libbson" class="link external">&raquo;&nbsp;libbson</a>.</li>
  </ul>
 </div>


 <div class="refsect1 changelog" id="refsect1-function.mongodb.bson-tocanonicalextendedjson-changelog">
  <h3 class="title">Registro de Alterações</h3>
  <p class="para">
   <table class="doctable informaltable">
    
     <thead>
      <tr>
       <th>Versão</th>
       <th>Descrição</th>
      </tr>

     </thead>

     <tbody class="tbody">
      
       <tr>
        <td>PECL mongodb 2.0.0</td>
        <td>
         Esta função foi removida.
        </td>
       </tr>


     </tbody>
    
   </table>

  </p>
 </div>


 <div class="refsect1 examples" id="refsect1-function.mongodb.bson-tocanonicalextendedjson-examples">
  <h3 class="title">Exemplos</h3>
  <div class="example" id="example-1">
   <p><strong>Exemplo #1 Exemplo de <span class="function"><strong>MongoDB\BSON\toCanonicalExtendedJSON()</strong></span></strong></p>
   <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /><br />$documents </span><span style="color: #007700">= [<br />    [ </span><span style="color: #DD0000">'null' </span><span style="color: #007700">=&gt; </span><span style="color: #0000BB">null </span><span style="color: #007700">],<br />    [ </span><span style="color: #DD0000">'boolean' </span><span style="color: #007700">=&gt; </span><span style="color: #0000BB">true </span><span style="color: #007700">],<br />    [ </span><span style="color: #DD0000">'string' </span><span style="color: #007700">=&gt; </span><span style="color: #DD0000">'foo' </span><span style="color: #007700">],<br />    [ </span><span style="color: #DD0000">'int32' </span><span style="color: #007700">=&gt; </span><span style="color: #0000BB">123 </span><span style="color: #007700">],<br />    [ </span><span style="color: #DD0000">'int64' </span><span style="color: #007700">=&gt; </span><span style="color: #0000BB">4294967295 </span><span style="color: #007700">],<br />    [ </span><span style="color: #DD0000">'double' </span><span style="color: #007700">=&gt; </span><span style="color: #0000BB">1.0</span><span style="color: #007700">, ],<br />    [ </span><span style="color: #DD0000">'nan' </span><span style="color: #007700">=&gt; </span><span style="color: #0000BB">NAN </span><span style="color: #007700">],<br />    [ </span><span style="color: #DD0000">'pos_inf' </span><span style="color: #007700">=&gt; </span><span style="color: #0000BB">INF </span><span style="color: #007700">],<br />    [ </span><span style="color: #DD0000">'neg_inf' </span><span style="color: #007700">=&gt; -</span><span style="color: #0000BB">INF </span><span style="color: #007700">],<br />    [ </span><span style="color: #DD0000">'array' </span><span style="color: #007700">=&gt; [ </span><span style="color: #DD0000">'foo'</span><span style="color: #007700">, </span><span style="color: #DD0000">'bar' </span><span style="color: #007700">]],<br />    [ </span><span style="color: #DD0000">'document' </span><span style="color: #007700">=&gt; [ </span><span style="color: #DD0000">'foo' </span><span style="color: #007700">=&gt; </span><span style="color: #DD0000">'bar' </span><span style="color: #007700">]],<br />    [ </span><span style="color: #DD0000">'oid' </span><span style="color: #007700">=&gt; new </span><span style="color: #0000BB">MongoDB\BSON\ObjectId</span><span style="color: #007700">(</span><span style="color: #DD0000">'56315a7c6118fd1b920270b1'</span><span style="color: #007700">) ],<br />    [ </span><span style="color: #DD0000">'dec128' </span><span style="color: #007700">=&gt; new </span><span style="color: #0000BB">MongoDB\BSON\Decimal128</span><span style="color: #007700">(</span><span style="color: #DD0000">'1234.5678'</span><span style="color: #007700">) ],<br />    [ </span><span style="color: #DD0000">'binary' </span><span style="color: #007700">=&gt; new </span><span style="color: #0000BB">MongoDB\BSON\Binary</span><span style="color: #007700">(</span><span style="color: #DD0000">'foo'</span><span style="color: #007700">, </span><span style="color: #0000BB">MongoDB\BSON\Binary</span><span style="color: #007700">::</span><span style="color: #0000BB">TYPE_GENERIC</span><span style="color: #007700">) ],<br />    [ </span><span style="color: #DD0000">'date' </span><span style="color: #007700">=&gt; new </span><span style="color: #0000BB">MongoDB\BSON\UTCDateTime</span><span style="color: #007700">(</span><span style="color: #0000BB">1445990400000</span><span style="color: #007700">) ],<br />    [ </span><span style="color: #DD0000">'timestamp' </span><span style="color: #007700">=&gt; new </span><span style="color: #0000BB">MongoDB\BSON\Timestamp</span><span style="color: #007700">(</span><span style="color: #0000BB">1234</span><span style="color: #007700">, </span><span style="color: #0000BB">5678</span><span style="color: #007700">) ],<br />    [ </span><span style="color: #DD0000">'regex' </span><span style="color: #007700">=&gt; new </span><span style="color: #0000BB">MongoDB\BSON\Regex</span><span style="color: #007700">(</span><span style="color: #DD0000">'pattern'</span><span style="color: #007700">, </span><span style="color: #DD0000">'i'</span><span style="color: #007700">) ],<br />    [ </span><span style="color: #DD0000">'code' </span><span style="color: #007700">=&gt; new </span><span style="color: #0000BB">MongoDB\BSON\Javascript</span><span style="color: #007700">(</span><span style="color: #DD0000">'function() { return 1; }'</span><span style="color: #007700">) ],<br />    [ </span><span style="color: #DD0000">'code_ws' </span><span style="color: #007700">=&gt; new </span><span style="color: #0000BB">MongoDB\BSON\Javascript</span><span style="color: #007700">(</span><span style="color: #DD0000">'function() { return a; }'</span><span style="color: #007700">, [</span><span style="color: #DD0000">'a' </span><span style="color: #007700">=&gt; </span><span style="color: #0000BB">1</span><span style="color: #007700">]) ],<br />    [ </span><span style="color: #DD0000">'minkey' </span><span style="color: #007700">=&gt; new </span><span style="color: #0000BB">MongoDB\BSON\MinKey </span><span style="color: #007700">],<br />    [ </span><span style="color: #DD0000">'maxkey' </span><span style="color: #007700">=&gt; new </span><span style="color: #0000BB">MongoDB\BSON\MaxKey </span><span style="color: #007700">],<br />];<br /><br />foreach (</span><span style="color: #0000BB">$documents </span><span style="color: #007700">as </span><span style="color: #0000BB">$document</span><span style="color: #007700">) {<br />    </span><span style="color: #0000BB">$bson </span><span style="color: #007700">= </span><span style="color: #0000BB">MongoDB\BSON\fromPHP</span><span style="color: #007700">(</span><span style="color: #0000BB">$document</span><span style="color: #007700">);<br />    echo </span><span style="color: #0000BB">MongoDB\BSON\toCanonicalExtendedJSON</span><span style="color: #007700">(</span><span style="color: #0000BB">$bson</span><span style="color: #007700">), </span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br />}<br /><br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
   </div>

   <div class="example-contents"><p>O exemplo acima produzirá:</p></div>
   <div class="example-contents screen">
<div class="examplescode"><pre class="examplescode">{ &quot;null&quot; : null }
{ &quot;boolean&quot; : true }
{ &quot;string&quot; : &quot;foo&quot; }
{ &quot;int32&quot; : { &quot;$numberInt&quot; : &quot;123&quot; } }
{ &quot;int64&quot; : { &quot;$numberLong&quot; : &quot;4294967295&quot;} }
{ &quot;double&quot; : { &quot;$numberDouble&quot; : &quot;1.0&quot; } }
{ &quot;nan&quot; : { &quot;$numberDouble&quot; : &quot;NaN&quot; } }
{ &quot;pos_inf&quot; : { &quot;$numberDouble&quot; : &quot;Infinity&quot; } }
{ &quot;neg_inf&quot; : { &quot;$numberDouble&quot; : &quot;-Infinity&quot; } }
{ &quot;array&quot; : [ &quot;foo&quot;, &quot;bar&quot; ] }
{ &quot;document&quot; : { &quot;foo&quot; : &quot;bar&quot; } }
{ &quot;oid&quot; : { &quot;$oid&quot; : &quot;56315a7c6118fd1b920270b1&quot; } }
{ &quot;dec128&quot; : { &quot;$numberDecimal&quot; : &quot;1234.5678&quot; } }
{ &quot;binary&quot; : { &quot;$binary&quot; : { &quot;base64&quot;: &quot;Zm9v&quot;, &quot;subType&quot; : &quot;00&quot; } } }
{ &quot;date&quot; : { &quot;$date&quot; : { &quot;$numberLong&quot; : &quot;1445990400000&quot; } } }
{ &quot;timestamp&quot; : { &quot;$timestamp&quot; : { &quot;t&quot; : 5678, &quot;i&quot; : 1234 } } }
{ &quot;regex&quot; : { &quot;$regularExpression&quot; : { &quot;pattern&quot; : &quot;pattern&quot;, &quot;options&quot; : &quot;i&quot; } } }
{ &quot;code&quot; : { &quot;$code&quot; : &quot;function() { return 1; }&quot; } }
{ &quot;code_ws&quot; : { &quot;$code&quot; : &quot;function() { return a; }&quot;, &quot;$scope&quot; : { &quot;a&quot; : { &quot;$numberInt&quot; : &quot;1&quot; } } } }
{ &quot;minkey&quot; : { &quot;$minKey&quot; : 1 } }
{ &quot;maxkey&quot; : { &quot;$maxKey&quot; : 1 } }</pre>
</div>
   </div>
  </div>
 </div>


 <div class="refsect1 seealso" id="refsect1-function.mongodb.bson-tocanonicalextendedjson-seealso">
  <h3 class="title">Veja Também</h3>
  <ul class="simplelist">
   <li><span class="methodname"><a href="mongodb-bson-document.fromjson.php" class="methodname" rel="rdfs-seeAlso">MongoDB\BSON\Document::fromJSON()</a> - Constr&oacute;i uma nova inst&acirc;ncia de documento a partir de uma string JSON</span></li>
   <li><span class="methodname"><a href="mongodb-bson-document.tocanonicalextendedjson.php" class="methodname" rel="rdfs-seeAlso">MongoDB\BSON\Document::toCanonicalExtendedJSON()</a> - Retorna a representa&ccedil;&atilde;o JSON estendida can&ocirc;nica do documento BSON</span></li>
   <li><span class="function"><a href="function.mongodb.bson-fromjson.php" class="function" rel="rdfs-seeAlso">MongoDB\BSON\fromJSON()</a> - Retorna a representa&ccedil;&atilde;o BSON de um valor JSON</span></li>
   <li><span class="function"><a href="function.mongodb.bson-torelaxedextendedjson.php" class="function" rel="rdfs-seeAlso">MongoDB\BSON\toRelaxedExtendedJSON()</a> - Retorna a representa&ccedil;&atilde;o JSON Estendida Relaxada de um valor BSON</span></li>
   <li><a href="https://github.com/mongodb/specifications/blob/master/source/extended-json/extended-json.md" class="link external">&raquo;&nbsp;Especificação do JSON Estendido</a></li>
   <li><a href="https://www.mongodb.com/docs/manual/reference/bson-types/" class="link external">&raquo;&nbsp;BSON do MongoDB</a></li>
  </ul>
 </div>


</div><?php manual_footer($setup); ?>