adhocore/json-fixer
最新稳定版本:v1.0.1
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)
统计信息
- 总下载量: 483.18k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 51
- 点击次数: 1
- 依赖项目数: 3
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2018-07-21