Statement on glibc/iconv Vulnerability

MongoDB\BSON\Document::toCanonicalExtendedJSON

(mongodb >=1.16.0)

MongoDB\BSON\Document::toCanonicalExtendedJSONReturns the Canonical Extended JSON representation of the BSON document

Descrição

final public MongoDB\BSON\Document::toCanonicalExtendedJSON(): string

Converts the BSON document to its » Canonical Extended JSON representation. The canonical format prefers type fidelity at the expense of concise output and is most suited for producing output that can be converted back to BSON without any loss of type information (e.g. numeric types will remain differentiated).

Parâmetros

Esta função não possui parâmetros.

Exemplos

Exemplo #1 MongoDB\BSON\Document::toCanonicalExtendedJSON() example

<?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\Document::fromPHP($document);
echo
$bson->toCanonicalExtendedJSON(), "\n";
}

?>

O exemplo acima produzirá:

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

Veja Também

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top