mirror of
https://github.com/fofolee/uTools-Manuals.git
synced 2025-06-18 05:26:57 +08:00
148 lines
16 KiB
HTML
148 lines
16 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
|
<html>
|
|
<head>
|
|
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
|
|
<title>Returns the Legacy Extended JSON representation of a BSON value</title>
|
|
</head>
|
|
<body class="docs"><div id="layout">
|
|
<div id="layout-content"><div id="function.mongodb.bson-tojson" class="refentry">
|
|
<div class="refnamediv">
|
|
<h1 class="refname">MongoDB\BSON\toJSON</h1>
|
|
<p class="verinfo">(mongodb >=1.0.0)</p><p class="refpurpose"><span class="refname">MongoDB\BSON\toJSON</span> — <span class="dc-title">Returns the Legacy Extended JSON representation of a BSON value</span></p>
|
|
|
|
</div>
|
|
|
|
<div class="refsect1 description" id="refsect1-function.mongodb.bson-tojson-description">
|
|
<h3 class="title">说明</h3>
|
|
<div class="methodsynopsis dc-description">
|
|
<span class="methodname"><strong>MongoDB\BSON\toJSON</strong></span>
|
|
( <span class="methodparam"><span class="type">string</span> <code class="parameter">$bson</code></span>
|
|
) : <span class="type">string</span></div>
|
|
|
|
<p class="para rdfs-comment">
|
|
Converts a BSON string to its
|
|
<a href="https://docs.mongodb.com/manual/reference/mongodb-extended-json/" class="link external">» Legacy Extended JSON</a>
|
|
representation.
|
|
</p>
|
|
<blockquote class="note"><p><strong class="note">Note</strong>:
|
|
<span class="simpara">
|
|
There exist several JSON formats for representing BSON. This function
|
|
implements the "strict mode" defined in
|
|
<a href="https://docs.mongodb.com/manual/reference/mongodb-extended-json/" class="link external">» MongoDB Extended JSON</a>,
|
|
which has been superseded by the canonical and relaxed formats defined in
|
|
the
|
|
<a href="https://github.com/mongodb/specifications/blob/master/source/extended-json.rst" class="link external">» Extended JSON Specification</a>
|
|
and implemented by <span class="function"><a href="mongodb.bson_tocanonicalextendedjson.html" class="function">MongoDB\BSON\toCanonicalExtendedJSON()</a></span>
|
|
and <span class="function"><a href="mongodb.bson_torelaxedextendedjson.html" class="function">MongoDB\BSON\toRelaxedExtendedJSON()</a></span>, respectively.
|
|
</span>
|
|
</p></blockquote>
|
|
<div class="warning"><strong class="warning">Warning</strong>
|
|
<p class="simpara">
|
|
<a href="http://www.json.org/" class="link external">» JSON</a> does not support
|
|
<a href="language.types.float.html#language.types.float.nan" class="link"><strong><code>NAN</code></strong></a> and
|
|
<a href="is_infinite.html" class="link"><strong><code>INF</code></strong></a> and
|
|
MongoDB's Legacy Extended JSON format does not define an alternative
|
|
representation for these values
|
|
(<a href="https://github.com/mongodb/libbson" class="link external">» libbson</a> will output
|
|
<em>nan</em> and <em>inf</em> literals, which may not be
|
|
parsed as valid JSON). If you are working with BSON that may contain
|
|
non-finite numbers, please use
|
|
<span class="function"><a href="mongodb.bson_tocanonicalextendedjson.html" class="function">MongoDB\BSON\toCanonicalExtendedJSON()</a></span> or
|
|
<span class="function"><a href="mongodb.bson_torelaxedextendedjson.html" class="function">MongoDB\BSON\toRelaxedExtendedJSON()</a></span>.
|
|
</p>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div class="refsect1 parameters" id="refsect1-function.mongodb.bson-tojson-parameters">
|
|
<h3 class="title">参数</h3>
|
|
<dl>
|
|
|
|
|
|
<dt>
|
|
<code class="parameter">bson</code> (<span class="type"><a href="language.types.string.html" class="type string">string</a></span>)</dt>
|
|
|
|
<dd>
|
|
|
|
<p class="para">
|
|
BSON value to be converted.
|
|
</p>
|
|
</dd>
|
|
|
|
|
|
</dl>
|
|
|
|
</div>
|
|
|
|
|
|
<div class="refsect1 returnvalues" id="refsect1-function.mongodb.bson-tojson-returnvalues">
|
|
<h3 class="title">返回值</h3>
|
|
<p class="para">
|
|
The converted JSON value.
|
|
</p>
|
|
</div>
|
|
|
|
|
|
<div class="refsect1 errors" id="refsect1-function.mongodb.bson-tojson-errors">
|
|
<h3 class="title">错误/异常</h3>
|
|
<ul class="simplelist">
|
|
<li class="member">Throws <a href="class.mongodb_driver_exception_unexpectedvalueexception.html" class="classname">MongoDB\Driver\Exception\UnexpectedValueException</a> 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 <a href="https://github.com/mongodb/libbson" class="link external">» libbson</a> error.</li>
|
|
</ul>
|
|
</div>
|
|
|
|
|
|
<div class="refsect1 examples" id="refsect1-function.mongodb.bson-tojson-examples">
|
|
<h3 class="title">范例</h3>
|
|
<div class="example" id="example-1707">
|
|
<p><strong>Example #1 <span class="function"><strong>MongoDB\BSON\toJSON()</strong></span> example</strong></p>
|
|
<div class="example-contents">
|
|
<div class="phpcode"><pre><span style="color: #000000">
|
|
<span style="color: #0000BB"><?php<br /><br />$documents </span><span style="color: #007700">= [<br /> [ </span><span style="color: #DD0000">'null' </span><span style="color: #007700">=> </span><span style="color: #0000BB">null </span><span style="color: #007700">],<br /> [ </span><span style="color: #DD0000">'boolean' </span><span style="color: #007700">=> </span><span style="color: #0000BB">true </span><span style="color: #007700">],<br /> [ </span><span style="color: #DD0000">'string' </span><span style="color: #007700">=> </span><span style="color: #DD0000">'foo' </span><span style="color: #007700">],<br /> [ </span><span style="color: #DD0000">'int32' </span><span style="color: #007700">=> </span><span style="color: #0000BB">123 </span><span style="color: #007700">],<br /> [ </span><span style="color: #DD0000">'int64' </span><span style="color: #007700">=> </span><span style="color: #0000BB">4294967295 </span><span style="color: #007700">],<br /> [ </span><span style="color: #DD0000">'double' </span><span style="color: #007700">=> </span><span style="color: #0000BB">1.0</span><span style="color: #007700">, ],<br /> [ </span><span style="color: #DD0000">'nan' </span><span style="color: #007700">=> </span><span style="color: #0000BB">NAN </span><span style="color: #007700">],<br /> [ </span><span style="color: #DD0000">'pos_inf' </span><span style="color: #007700">=> </span><span style="color: #0000BB">INF </span><span style="color: #007700">],<br /> [ </span><span style="color: #DD0000">'neg_inf' </span><span style="color: #007700">=> -</span><span style="color: #0000BB">INF </span><span style="color: #007700">],<br /> [ </span><span style="color: #DD0000">'array' </span><span style="color: #007700">=> [ </span><span style="color: #DD0000">'foo'</span><span style="color: #007700">, </span><span style="color: #DD0000">'bar' </span><span style="color: #007700">]],<br /> [ </span><span style="color: #DD0000">'document' </span><span style="color: #007700">=> [ </span><span style="color: #DD0000">'foo' </span><span style="color: #007700">=> </span><span style="color: #DD0000">'bar' </span><span style="color: #007700">]],<br /> [ </span><span style="color: #DD0000">'oid' </span><span style="color: #007700">=> new </span><span style="color: #0000BB">MongoDB</span><span style="color: #007700">\</span><span style="color: #0000BB">BSON</span><span style="color: #007700">\</span><span style="color: #0000BB">ObjectId</span><span style="color: #007700">(</span><span style="color: #DD0000">'56315a7c6118fd1b920270b1'</span><span style="color: #007700">) ],<br /> [ </span><span style="color: #DD0000">'dec128' </span><span style="color: #007700">=> new </span><span style="color: #0000BB">MongoDB</span><span style="color: #007700">\</span><span style="color: #0000BB">BSON</span><span style="color: #007700">\</span><span style="color: #0000BB">Decimal128</span><span style="color: #007700">(</span><span style="color: #DD0000">'1234.5678'</span><span style="color: #007700">) ],<br /> [ </span><span style="color: #DD0000">'binary' </span><span style="color: #007700">=> new </span><span style="color: #0000BB">MongoDB</span><span style="color: #007700">\</span><span style="color: #0000BB">BSON</span><span style="color: #007700">\</span><span style="color: #0000BB">Binary</span><span style="color: #007700">(</span><span style="color: #DD0000">'foo'</span><span style="color: #007700">, </span><span style="color: #0000BB">MongoDB</span><span style="color: #007700">\</span><span style="color: #0000BB">BSON</span><span style="color: #007700">\</span><span style="color: #0000BB">Binary</span><span style="color: #007700">::</span><span style="color: #0000BB">TYPE_GENERIC</span><span style="color: #007700">) ],<br /> [ </span><span style="color: #DD0000">'date' </span><span style="color: #007700">=> new </span><span style="color: #0000BB">MongoDB</span><span style="color: #007700">\</span><span style="color: #0000BB">BSON</span><span style="color: #007700">\</span><span style="color: #0000BB">UTCDateTime</span><span style="color: #007700">(</span><span style="color: #0000BB">1445990400000</span><span style="color: #007700">) ],<br /> [ </span><span style="color: #DD0000">'timestamp' </span><span style="color: #007700">=> new </span><span style="color: #0000BB">MongoDB</span><span style="color: #007700">\</span><span style="color: #0000BB">BSON</span><span style="color: #007700">\</span><span style="color: #0000BB">Timestamp</span><span style="color: #007700">(</span><span style="color: #0000BB">1234</span><span style="color: #007700">, </span><span style="color: #0000BB">5678</span><span style="color: #007700">) ],<br /> [ </span><span style="color: #DD0000">'regex' </span><span style="color: #007700">=> new </span><span style="color: #0000BB">MongoDB</span><span style="color: #007700">\</span><span style="color: #0000BB">BSON</span><span style="color: #007700">\</span><span style="color: #0000BB">Regex</span><span style="color: #007700">(</span><span style="color: #DD0000">'pattern'</span><span style="color: #007700">, </span><span style="color: #DD0000">'i'</span><span style="color: #007700">) ],<br /> [ </span><span style="color: #DD0000">'code' </span><span style="color: #007700">=> new </span><span style="color: #0000BB">MongoDB</span><span style="color: #007700">\</span><span style="color: #0000BB">BSON</span><span style="color: #007700">\</span><span style="color: #0000BB">Javascript</span><span style="color: #007700">(</span><span style="color: #DD0000">'function() { return 1; }'</span><span style="color: #007700">) ],<br /> [ </span><span style="color: #DD0000">'code_ws' </span><span style="color: #007700">=> new </span><span style="color: #0000BB">MongoDB</span><span style="color: #007700">\</span><span style="color: #0000BB">BSON</span><span style="color: #007700">\</span><span style="color: #0000BB">Javascript</span><span style="color: #007700">(</span><span style="color: #DD0000">'function() { return a; }'</span><span style="color: #007700">, [</span><span style="color: #DD0000">'a' </span><span style="color: #007700">=> </span><span style="color: #0000BB">1</span><span style="color: #007700">]) ],<br /> [ </span><span style="color: #DD0000">'minkey' </span><span style="color: #007700">=> new </span><span style="color: #0000BB">MongoDB</span><span style="color: #007700">\</span><span style="color: #0000BB">BSON</span><span style="color: #007700">\</span><span style="color: #0000BB">MinKey </span><span style="color: #007700">],<br /> [ </span><span style="color: #DD0000">'maxkey' </span><span style="color: #007700">=> new </span><span style="color: #0000BB">MongoDB</span><span style="color: #007700">\</span><span style="color: #0000BB">BSON</span><span style="color: #007700">\</span><span style="color: #0000BB">MaxKey </span><span style="color: #007700">],<br />];<br /><br />foreach (</span><span style="color: #0000BB">$documents </span><span style="color: #007700">as </span><span style="color: #0000BB">$document</span><span style="color: #007700">) {<br /> </span><span style="color: #0000BB">$bson </span><span style="color: #007700">= </span><span style="color: #0000BB">MongoDB</span><span style="color: #007700">\</span><span style="color: #0000BB">BSON</span><span style="color: #007700">\</span><span style="color: #0000BB">fromPHP</span><span style="color: #007700">(</span><span style="color: #0000BB">$document</span><span style="color: #007700">);<br /> echo </span><span style="color: #0000BB">MongoDB</span><span style="color: #007700">\</span><span style="color: #0000BB">BSON</span><span style="color: #007700">\</span><span style="color: #0000BB">toJSON</span><span style="color: #007700">(</span><span style="color: #0000BB">$bson</span><span style="color: #007700">), </span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br />}<br /><br /></span><span style="color: #0000BB">?></span>
|
|
</span>
|
|
</pre></div>
|
|
</div>
|
|
|
|
<div class="example-contents"><p>以上例程会输出:</p></div>
|
|
<div class="example-contents screen">
|
|
<div class="cdata"><pre>
|
|
{ "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 } }
|
|
</pre></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
<div class="refsect1 seealso" id="refsect1-function.mongodb.bson-tojson-seealso">
|
|
<h3 class="title">参见</h3>
|
|
<ul class="simplelist">
|
|
<li class="member"><span class="function"><a href="mongodb.bson_fromjson.html" class="function" rel="rdfs-seeAlso">MongoDB\BSON\fromJSON()</a> - Returns the BSON representation of a JSON value</span></li>
|
|
<li class="member"><span class="function"><a href="mongodb.bson_tocanonicalextendedjson.html" class="function" rel="rdfs-seeAlso">MongoDB\BSON\toCanonicalExtendedJSON()</a> - Returns the Canonical Extended JSON representation of a BSON value</span></li>
|
|
<li class="member"><span class="function"><a href="mongodb.bson_torelaxedextendedjson.html" class="function" rel="rdfs-seeAlso">MongoDB\BSON\toRelaxedExtendedJSON()</a> - Returns the Relaxed Extended JSON representation of a BSON value</span></li>
|
|
<li class="member"><a href="https://docs.mongodb.com/manual/reference/mongodb-extended-json/" class="link external">» MongoDB Extended JSON</a></li>
|
|
<li class="member"><a href="https://docs.mongodb.com/manual/reference/bson-types/" class="link external">» MongoDB BSON</a></li>
|
|
</ul>
|
|
</div>
|
|
|
|
|
|
</div></div></div></body></html> |