(mongodb >=1.0.0)
MongoDB\BSON\toJSON β ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Legacy Extended JSON-ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ BSON-Π·Π½Π°ΡΠ΅Π½ΠΈΡ
ΠΠ΅ΡΠΎΠ΄ Π£Π‘Π’ΠΠ ΠΠ Ρ ΠΌΠΎΠ΄ΡΠ»Ρ Π²Π΅ΡΡΠΈΠΈ 1.20.0, Π° Π² Π²Π΅ΡΡΠΈΠΈ 2.0 ΠΌΠ΅ΡΠΎΠ΄ ΡΠ΄Π°Π»ΠΈΠ»ΠΈ. ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌ Π»ΡΡΡΠ΅ Π²ΡΠ·ΡΠ²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ MongoDB\BSON\Document::toCanonicalExtendedJSON() ΠΈΠ»ΠΈ MongoDB\BSON\Document::toRelaxedExtendedJSON().
ΠΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²ΡΠ²Π°Π΅Ρ Π² BSON-ΡΡΡΠΎΠΊΡ Π΅Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ » Legacy Extended JSON.
ΠΠ°ΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: BSON-Π΄Π°Π½Π½ΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ Π² ΡΡΠ΄Π΅ JSON-ΡΠΎΡΠΌΠ°ΡΠΎΠ². ΠΠ΅ΡΠΎΠ΄ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ Β«ΡΡΡΠΎΠ³ΠΈΠΉ ΡΠ΅ΠΆΠΈΠΌΒ», ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΡΠΎΡΠΌΠ°ΡΠΎΠΌ » MongoDB Extended JSON, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°ΠΌΠ΅Π½ΠΈΠ»ΠΈ ΠΊΠ°Π½ΠΎΠ½ΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ β ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π»ΠΈ Π² ΠΌΠ΅ΡΠΎΠ΄Π΅ MongoDB\BSON\toCanonicalExtendedJSON() β ΠΈ ΡΠΏΡΠΎΡΡΠ½Π½ΡΠΌΠΈ β Π² ΠΌΠ΅ΡΠΎΠ΄Π΅ MongoDB\BSON\toRelaxedExtendedJSON() β ΡΠΎΡΠΌΠ°ΡΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠ»ΠΈ » в ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Extended JSON.
Π€ΠΎΡΠΌΠ°Ρ Β»Β JSON Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ
Π½Π΅ΡΠΈΡΠ»ΠΎ NAN
ΠΈ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎΡΡΡ INF,
Π° ΡΠΎΡΠΌΠ°Ρ Legacy Extended JSON Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
MongoDB Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΠΎΠ΅
ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΡΠΈΡ
Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ
(Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° » libbson Π²ΡΠ²Π΅Π΄Π΅Ρ
Π»ΠΈΡΠ΅ΡΠ°Π»Ρ nan ΠΈ inf, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ½ΠΎΠ³Π΄Π°
Π½Π΅ ΡΠ°ΡΠΏΠΎΠ·Π½Π°ΡΡΡΡ, Π² Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎΠΌ JSON-ΡΠΎΡΠΌΠ°ΡΠ΅). ΠΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ BSON-ΡΠΎΡΠΌΠ°ΡΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΠ½ΠΎΠ³Π΄Π° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ
Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΠ΅ ΡΠΈΡΠ»Π°, Π²ΡΠ·ΡΠ²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄
MongoDB\BSON\toCanonicalExtendedJSON()
ΠΈΠ»ΠΈ MongoDB\BSON\toRelaxedExtendedJSON().
bson (string)ΠΠ΅ΡΠΎΠ΄ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ JSON-Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Π² ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π» BSON-Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
| ΠΠ΅ΡΡΠΈΡ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
|---|---|
| PECL-ΠΌΠΎΠ΄ΡΠ»Ρ mongodb 2.0.0 | Π€ΡΠ½ΠΊΡΠΈΡ ΡΠ΄Π°Π»ΠΈΠ»ΠΈ. |
ΠΡΠΈΠΌΠ΅Ρ #1 ΠΡΠΈΠΌΠ΅Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ BSON-Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² Legacy Extended JSON-ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ 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";
}
?>Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΈΠ²Π΅Π΄ΡΠ½Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ°:
{ "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 } }