MongoDB\BSON\toRelaxedExtendedJSON
(mongodb >=1.3.0)
MongoDB\BSON\toRelaxedExtendedJSON — Returns the Relaxed Extended JSON representation of a BSON value
説明
MongoDB\BSON\toRelaxedExtendedJSON
( string $bson
) : string
Converts a BSON string to its » Relaxed Extended JSON representation. The relaxed format prefers use of JSON type primitives at the expense of type fidelity and is most suited for producing output that can be easily consumed by web APIs and humans.
パラメータ
bson
(string)- BSON value to be converted.
返り値
The converted JSON value.
エラー / 例外
- Throws MongoDB\Driver\Exception\UnexpectedValueException if the input did not contain exactly one BSON document. Possible reasons include, but are not limited to, invalid BSON, extra data (after reading one BSON document), or an unexpected » libbson error.
例
例1 MongoDB\BSON\toRelaxedExtendedJSON() 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\fromPHP($document); echo MongoDB\BSON\toRelaxedExtendedJSON($bson), "\n";}?>
上の例の出力は以下となります。
{ "null" : null } { "boolean" : true } { "string" : "foo" } { "int32" : 123 } { "int64" : 4294967295 } { "double" : 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" : "2015-10-28T00:00:00Z" } } { "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" : 1 } } } { "minkey" : { "$minKey" : 1 } } { "maxkey" : { "$maxKey" : 1 } }
参考
- MongoDB\BSON\fromJSON() - Returns the BSON representation of a JSON value
- MongoDB\BSON\toCanonicalExtendedJSON() - Returns the Canonical Extended JSON representation of a BSON value
- » Extended JSON
- » MongoDB BSON