Я знаю, что это старый вопрос, но вот то, что я использую, которое можно довольно легко превратить в функцию или просто запустить inline:
<code><pre>
{$JSON_PRETTY_PRINT = 128}
{json_encode($some_json_object, $JSON_PRETTY_PRINT)}
Так что на практике, это может выглядеть примерно так:
<code>{$data = json_decode('{}',1)}
{$data.some_string = 'abc'}
{$data.some_number = 1}
{$data.some_array = ["1","2","3"]}
{$data.some_obj = json_decode('{}',1)}
{$data.some_obj.foo = "bar"}}
{$data.some_array = ["1","2","3"]}
<pre>
{$JSON_PRETTY_PRINT = 128}
{json_encode($data, $JSON_PRETTY_PRINT)}
Что бы вывести:
{
"some_string": "abc",
"some_number": 1,
"some_array": [
"1",
"2",
"3"
],
"some_obj": {
"foo": "bar"
}
}