gries / json-resolver
一个简单的工具,用于在编码/解码 JSON 时解析对象/对象树
1.0.0
2018-04-09 07:49 UTC
Requires (Dev)
- phpspec/phpspec: 2.0.*@dev
This package is auto-updated.
Last update: 2024-08-24 18:48:06 UTC
README
JsonResolver 是一个简单的类,允许您递归地将对象树编码/解码为 JSON,而无需处理 stdClasses。
这是通过将原始类注入 JSON 作为 "json_resolve_class" 属性来实现的。
安装
JsonResolver 可以通过 composer 安装。
{
"require": {
"gries/json-resolver": "dev-master"
},
}
用法
支持所有普通的 PHP 对象,唯一的要求是实现 \JsonSerializable 接口。
当前功能
- 自动将对象解码回其之前的类。
- 如果它们实现了 \JsonSerializable 接口,自动将相关对象解码回其之前的类。
- 如果它们的值实现了 \JsonSerializable 接口,自动解码数组/可遍历对象。
- 为之前未使用 JsonResolver 编码的对象提供回退方法。
示例用法
<?php
$book = new Book(); // JsonSerializeable
$author = new Author(); // JsonSerializeable
$author->addBook($book); // author has a property books that is a array or TraversableInterface
$resolver = new JsonResolver();
$json = $resolver->encode($author);
$author = $resolver->decode($json);
get_class($author); // Author
get_class($author->getBooks()->getFirst()); // Book
有关更多示例,请参阅 示例 部分。