MongoDB\BSON\toJSON

(mongodb >=1.0.0)

MongoDB\BSON\toJSONRetorna a representação JSON Estendida Legada de um valor BSON

Warning

Esta função tornou-se DEFASADA a partir da versão 1.20.0 da extensão, e será removida na 2.0. As aplicações devem usar MongoDB\BSON\Document::toCanonicalExtendedJSON() ou MongoDB\BSON\Document::toRelaxedExtendedJSON() em seu lugar.

Descrição

MongoDB\BSON\toJSON(string $bson): string

Converte uma string BSON na sua representação » JSON Estendida Legada

Note: Existem vários formatos JSON para representar BSON. Esta função implementa o "modo estrito" definido em » JSON Estendido MongoDB, que foi substituído pelos formatos canônicos e relaxados definidos na » Especificação JSON estendida e implementada por MongoDB\BSON\toCanonicalExtendedJSON() e MongoDB\BSON\toRelaxedExtendedJSON(), respectivamente.

Warning

» JSON não suporta NAN e INF e o formato JSON Estendido Legado do MongoDB não define uma representação alternativa para estes valores (» libbson irá produzir literais nan e inf, que podem não ser interpretados como JSON válido). Ao trabalhar com BSON que possa conter números não finitos, devem ser usados os métodos MongoDB\BSON\toCanonicalExtendedJSON() ou MongoDB\BSON\toRelaxedExtendedJSON().

Parâmetros

bson (string)

Valor BSON a ser convertido.

Valor Retornado

O valor JSON convertido.

Erros/Exceções

Exemplos

Example #1 Exemplo de MongoDB\BSON\toJSON()

<?php

$documents = [
    [ 'null' => null ],
    [ 'boolean' => true ],
    [ 'string' => 'foo' ],
    [ 'int32' => 123 ],
    [ 'int64' => 4294967295 ],
    [ 'double' => 1.0, ],
    [ 'nan' => NAN ],
    [ 'pos_inf' => INF ],
    [ 'neg_inf' => -INF ],
    [ 'array' => [ 'foo', 'bar' ]],
    [ 'document' => [ 'foo' => 'bar' ]],
    [ 'oid' => new MongoDB\BSON\ObjectId('56315a7c6118fd1b920270b1') ],
    [ 'dec128' => new MongoDB\BSON\Decimal128('1234.5678') ],
    [ 'binary' => new MongoDB\BSON\Binary('foo', MongoDB\BSON\Binary::TYPE_GENERIC) ],
    [ 'date' => new MongoDB\BSON\UTCDateTime(1445990400000) ],
    [ 'timestamp' => new MongoDB\BSON\Timestamp(1234, 5678) ],
    [ 'regex' => new MongoDB\BSON\Regex('pattern', 'i') ],
    [ 'code' => new MongoDB\BSON\Javascript('function() { return 1; }') ],
    [ 'code_ws' => new MongoDB\BSON\Javascript('function() { return a; }', ['a' => 1]) ],
    [ 'minkey' => new MongoDB\BSON\MinKey ],
    [ 'maxkey' => new MongoDB\BSON\MaxKey ],
];

foreach ($documents as $document) {
    $bson = MongoDB\BSON\fromPHP($document);
    echo MongoDB\BSON\toJSON($bson), "\n";
}

?>

O exemplo acima produzirá:

{ "null" : null }
{ "boolean" : true }
{ "string" : "foo" }
{ "int32" : 123 }
{ "int64" : 4294967295 }
{ "double" : 1.0 }
{ "nan" : nan }
{ "pos_inf" : inf }
{ "neg_inf" : -inf }
{ "array" : [ "foo", "bar" ] }
{ "document" : { "foo" : "bar" } }
{ "oid" : { "$oid" : "56315a7c6118fd1b920270b1" } }
{ "dec128" : { "$numberDecimal" : "1234.5678" } }
{ "binary" : { "$binary" : "Zm9v", "$type" : "00" } }
{ "date" : { "$date" : 1445990400000 } }
{ "timestamp" : { "$timestamp" : { "t" : 5678, "i" : 1234 } } }
{ "regex" : { "$regex" : "pattern", "$options" : "i" } }
{ "code" : { "$code" : "function() { return 1; }" } }
{ "code_ws" : { "$code" : "function() { return a; }", "$scope" : { "a" : 1 } } }
{ "minkey" : { "$minKey" : 1 } }
{ "maxkey" : { "$maxKey" : 1 } }

Veja Também