MongoDB\BSON\toJSON
(mongodb >=1.0.0)
MongoDB\BSON\toJSON — Retorna a representação JSON Estendida Legada de um valor BSON
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
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.
» 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
- Lança uma exceção MongoDB\Driver\Exception\UnexpectedValueException 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 » libbson.
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
- MongoDB\BSON\fromJSON() - Retorna a representação BSON de um valor JSON
- MongoDB\BSON\toCanonicalExtendedJSON() - Retorna a representação JSON Estendida Canônica de um valor BSON
- MongoDB\BSON\toRelaxedExtendedJSON() - Retorna a representação JSON Estendida Relaxada de um valor BSON
- » JSON Estendido do MongoDB
- » BSON do MongoDB