I’ve been working a bit more with PHP and JSON recently and one of the things that annoyed me quite a bit was the single line output of the json_encode() function. Here is an example:
<?php $data = array( 'foo' => 'bar', 'bar' => 'qux', 'blah' => 'blah', ); echo json_encode($data); ?>
Poorly readable result (imagine having larger, more complex data structures like nested arrays):
{"foo":"bar","bar":"qux","blah":"blah"}
Apparently, since PHP 5.4.0 it became much easier to optionally format the output with some indentation. json_encode() function has an $options parameter, which was given an extra option – JSON_PRETTY_PRINT. Here is an updated example:
<?php $data = array( 'foo' => 'bar', 'bar' => 'qux', 'blah' => 'blah', ); echo json_encode($data, JSON_PRETTY_PRINT); ?>
And an updated output:
{ "foo": "bar", "bar": "qux", "blah": "blah" }
Very handy for debugging and for those bits of JSON that should be editable by hand.