2befound / 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-09-17 19:54:33 UTC
README
JsonResolver 是一个简单的类,允许您递归地将对象树编码/解码为 JSON,而无需处理 stdClasses。
这是通过简单地将原始类注入 JSON 中的 "json_resolve_class" 属性来实现的。
安装
可以通过 composer 安装 JsonResolver
{
"require": {
"gries/json-resolver": "dev-master"
},
}
使用
支持所有普通的 PHP 对象,唯一的要求是实现 \JsonSerializeable。
当前功能
- 自动将对象解码回其原始类。
- 如果它们实现了 \JsonSerializeable 接口,则自动将相关对象解码回其原始类。
- 如果它们的值实现了 \JsonSerializeable 接口,则自动解码数组/可遍历对象。
- 为未使用 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
有关更多示例,请参阅 示例 部分。