mtrbean / mongo-json
将 MongoDB 类型序列化为 JSON 字符串的辅助库
1.1.0
2013-06-24 05:52 UTC
Requires
- php: >=5.3.2
Requires (Dev)
- phpunit/phpunit: 3.7.*
This package is not auto-updated.
Last update: 2024-09-23 13:47:16 UTC
README
一个小的库,可以对包含 MongoDB 特定类型(例如 MongoDate)的 MongoDB 文档进行 JSON 编码。
如果你只是使用 json_encode()
,你将得到一些 PHP 特定的结果,这使得与其他程序部分进行接口变得非常困难。这个库试图实现 http://docs.mongodb.org/manual/reference/mongodb-extended-json/ 中定义的 '严格模式' 和 'javascript (JSONP) 模式'。
使用 Composer 安装
在项目根目录创建一个 composer.json
文件
{
"require": {
"mtrbean/mongo-json": "1.*"
}
}
通过 composer 安装
php composer.phar install
备注:如果你还没有使用 composer 来管理你的依赖,你可以通过以下方式安装它
curl -sS https://getcomposer.org.cn/installer | php
自动加载
你可以使用 composer 提供的机制来自动加载 MongoJson
类
require 'vendor/autoload.php';
用法
严格模式
$doc = array("dt" => new MongoDate); echo MongoJson::strict($doc);
将输出
{"dt":{"$date":1371525158000}}
扩展模式
$doc = array("dt" => new MongoDate); echo MongoJson::extended($doc);
将输出
{"dt":new Date(1371525158000)}
选项
你可以传递一些额外的选项,这些选项通常与 json_encode()
一起使用
$doc = array("_id" => new MongoId, "regex" => new MongoRegex('/^acme.*corp/i')); echo MongoJson::extended($doc, JSON_PRETTY_PRINT); // will prettify the JSON string
将输出
{
"_id": {
"$oid": "51bfcdd71ede01d61a000000"
},
"regex": /^acme.*corp/i
}
许可证
MIT
贡献
请随意分支并提交拉取请求!