Statement on glibc/iconv Vulnerability

MongoDB\BSON\toJSON

(mongodb >=1.0.0)

MongoDB\BSON\toJSONRetourne la représentation JSON étendue héritée d'une valeur BSON

Description

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

Convertit une chaîne BSON en sa » représentation JSON étendue héritée.

Note: Il existe plusieurs formats JSON pour représenter BSON. Cette fonction implémente le "strict mode" défini dans » MongoDB Extended JSON, qui a été remplacé par les formats canoniques et étendues définis dans la » spécification JSON étendue et implémenté par MongoDB\BSON\toCanonicalExtendedJSON() et MongoDB\BSON\toRelaxedExtendedJSON(), respectivement.

Avertissement

» JSON ne prend pas en charge NAN et INF et le format JSON étendu de MongoDB ne définit pas une autre représentation pour ces valeurs (» libbson va produire nan et inf littérallement, qui ne peuvent pas être analysés comme JSON valide). Si vous travaillez avec BSON qui peut contenir des nombres non finis, utilisez svp MongoDB\BSON\toCanonicalExtendedJSON() ou MongoDB\BSON\toRelaxedExtendedJSON().

Liste de paramètres

bson (string)

Valeur BSON à convertir.

Valeurs de retour

La valeur JSON convertie.

Erreurs / Exceptions

  • Lance une exception MongoDB\Driver\Exception\UnexpectedValueException si l'entrée ne contient pas exactement un document BSON. Les raisons possibles comprennent, mais ne sont pas limitées à, BSON invalide, des données supplémentaires (après avoir lu un document BSON), ou une erreur imprévu de » libbson.

Exemples

Exemple #1 Exemple avec 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";
}

?>

L'exemple ci-dessus va afficher :

{ "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 } }

Voir aussi

add a note

User Contributed Notes

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