📃 Provides a JSON printer, allowing for flexible indentation.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github
.travis
src
test
.editorconfig
.gitattributes
.gitignore
.php_cs
.travis.yml
LICENSE
Makefile
README.md
composer.json
composer.lock
infection.json
phpbench.json

README.md

json-printer

Build Status codecov Latest Stable Version Total Downloads

Provides a JSON printer, allowing for flexible indentation.

Installation

Run

$ composer require localheinz/json-printer

Usage

Let's assume we have a variable $json which contains some JSON that is not indented:

{"name":"Andreas Möller","emoji":"🤓","urls":["https://localheinz.com","https://github.com/localheinz","https://twitter.com/localheinz"]}

or indented with 4 spaces:

{
    "name":"Andreas Möller",
    "emoji":"🤓",
    "urls":[
        "https://localheinz.com",
        "https://github.com/localheinz",
        "https://twitter.com/localheinz"
    ]
}

but we want to indent it with 2 spaces (or tabs).

This is where Localheinz\Json\Printer\Printer comes in

use Localheinz\Json\Printer\Printer;

$printer = new Printer();

$printed = $printer->print(
    $json, 
    '  '
);

which results in $printed:

{
  "name":"Andreas Möller",
  "emoji":"🤓",
  "urls":[
    "https://localheinz.com",
    "https://github.com/localheinz",
    "https://twitter.com/localheinz"
  ]
}

💡 Note that this printer is only concerned with normalizing the indentation, no escaping or un-escaping occurs.

Contributing

Please have a look at CONTRIBUTING.md.

Code of Conduct

Please have a look at CODE_OF_CONDUCT.md.

License

This package is licensed using the MIT License.

Credits

The Printer is adopted from Composer\Json\JsonFormatter (originally licensed under MIT by Nils Adermann and Jordi Boggiano), who adopted it from a blog post by Dave Perrett (originally licensed under MIT by Dave Perrett).

The PrinterTest is inspired by Composer\Test\Json\JsonFormatterTest (originally licensed under MIT by Nils Adermann and Jordi Boggiano), as well as ZendTest\Json\JsonTest (originally licensed under New BSD License).