adhocore/json-fixer
Composer 安装命令:
composer require adhocore/json-fixer
包简介
Fix/repair truncated JSON data
关键字:
README 文档
README
PHP library to fix Truncated JSON data by padding contextual counterpart to the end. Works with PHP5.4 or above.
- Zero dependency (no vendor bloat).
It is a work in progress and might not cover all edge cases. It would be great if you try it out, open some issues or contribute.
Installation
composer require adhocore/json-fixer
Usage
use Ahc\Json\Fixer; $json = (new Fixer)->fix('{"a":1,"b":2'); // {"a":1,"b":2} $json = (new Fixer)->fix('{"a":1,"b":true,'); // {"a":1,"b":true} $json = (new Fixer)->fix('{"b":[1,[{"b":1,"c"'); // {"b":[1,[{"b":1,"c":null}]]} // For batch fixing, you can just reuse same fixer instance: $fixer = new Fixer; $fixer->fix('...'); $fixer->fix('...'); // ...
Error
If there's error and fixer cant fix the JSON for some reason, it will throw a RuntimeException.
You can disable this behavior by passing silent flag (2nd param) to fix() in which case original input is returned:
(new Fixer)->silent()->fix('invalid'); // 'invalid' (new Fixer)->silent(true)->fix('invalid'); // 'invalid' (new Fixer)->silent(false)->fix('invalid'); // RuntimeException
Missing Value
By default missing values are padded with null. You can change it passing desired value to missingValue():
// key b is missing value and is padded with `null` $json = (new Fixer)->fix('{"a":1,"b":'); // {"a":1,"b":null} // key b is missing value and is padded with `true` $json = (new Fixer)->missingValue(true)->fix('{"a":1,"b":'); // {"a":1,"b":true} // key b is missing value and is padded with `"truncated"` // Note that you can actually inject a whole new JSON subset as 3rd param // but that should be a valid JSON segment and is not checked by fixer. $json = (new Fixer)->missingValue('"truncated"')->fix('{"a":1,"b":'); // {"a":1,"b":"truncated"}
Todo
- Configurable missing value as per context (options)
adhocore/json-fixer 适用场景与选型建议
adhocore/json-fixer 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 592.93k 次下载、GitHub Stars 达 51, 最近一次更新时间为 2018 年 07 月 21 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「php」 「json」 「php-json-fixer」 「truncated-json」 「json-fixer」 「truncation-fixer」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 adhocore/json-fixer 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 adhocore/json-fixer 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 adhocore/json-fixer 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Kinikit - PHP Application development framework MVC component
ext-json wrapper with sane defaults
A package to cast json fields, each sub-keys is castable
swagger-php - Generate interactive documentation for your RESTful API using phpdoc annotations
Get wordpress nav menus and share the main site menus with the child sites.
JPOPHP (JSON Parser Object PHP) is a library for parsing the data in JSON format.
统计信息
- 总下载量: 592.93k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 51
- 点击次数: 32
- 依赖项目数: 2
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2018-07-21