deftek/json_pp

JSON格式化打印工具

1.0.0 2017-07-15 11:50 UTC

This package is not auto-updated.

Last update: 2024-09-29 03:15:31 UTC


README

json_pp 工具以可读的、缩进的格式打印 JSON 数据。它对需要阅读、检查和理解未提供空格分隔的 JSON 数据结构(如软件开发者构建或消费基于 JSON 的 API)的人来说非常有用。

默认情况下,json_pp 不转义斜杠或多字节 Unicode 字符。可以通过配置文件覆盖默认的编码选项来转义这些字符。当需要紧凑的 JSON 且源 JSON 已经以空格格式化时,也可以禁用格式化打印。

系统要求

  • 必须通过命令行安装 PHP 5.5.0 或更高版本才能运行 json_pp。使用旧版 PHP 的用户应认真考虑升级。运行测试套件需要 PHP 7 或更高版本。
  • Composer 用于自动化安装,也可以手动下载并安装此包。

安装

使 json_pp 对所有系统用户可用,可能需要系统管理员(例如 root)权限

composer global install deftek/json_pp

使 json_pp 仅对当前系统用户可用

composer install deftek/json_pp

json_pp 包含到使用 Composer 的项目中

composer require deftek/json_pp

在项目中使用 Composer 开发时包含 json_pp

composer require --dev deftek/json_pp

用法

打印字符串中紧凑的 JSON

echo '{"foo":{"bar":"baz"}}' | json_pp

输出

{
    "foo": {
        "bar": "baz"
    }
}

打印文件中紧凑的 JSON

json_pp < compact.json

从格式化源中输出紧凑的 JSON

echo pretty.json | json_pp --config=config.compact.php

其中 config.compact.php 包含如下内容:

<?php
return [
    'decode' => 0,
    'depth'  => 512,
    'encode' => JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE,
];

配置

有关默认配置值,请参阅 config.default.php,并根据需要覆盖自己的配置文件中的值。

配置文件包含三个选项,用于控制 json_decode()json_encode() 函数调用的参数

  1. decode:此值表示 json_decode()options 参数。
  2. depth:此值表示 json_decode()json_encode()depth 参数。
  3. encode:此值表示 json_encode()options 参数。

版权和许可

json_pp 包是在 3-Clause(也称为 New 或 Modified)BSD 许可证下提供的。完整的版权和许可信息可在 LICENSE.txt 中找到。

问题和贡献

可以在 贡献指南 中报告问题和接受贡献。

变更日志

json_pp 的显著更改记录在 变更日志 中。