json-printer
json-printer copied to clipboard
๐ Provides a composer package with a JSON printer, allowing for flexible indentation.
json-printer
Provides a JSON printer, allowing for flexible indentation.
Installation
Run
$ composer require ergebnis/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 Ergebnis\Json\Printer\Printer comes in
use Ergebnis\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"
]
}
:bulb: Note that this printer is only concerned with normalizing the indentation, no escaping or un-escaping occurs.
Changelog
Please have a look at CHANGELOG.md.
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.
Please have a look at LICENSE.md.
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).
Curious what I am building?
:mailbox_with_mail: Subscribe to my list, and I will occasionally send you an email to let you know what I am working on.