online - php pretty print code



PHP "pretty print" json_encode (3)

Возможный дубликат:
Pretty-Printing JSON с PHP

Я работаю над скриптом, который создает файл JSON. Прямо сейчас я использую json_encode (PHP 5.2.x) для кодирования массива в JSON-выход. Затем я печатаю возвращаемое значение в файл и сохраняю его. Проблема в том, что клиент хочет открыть эти JSON-файлы для удобочитаемости, поэтому я хотел бы добавить разрывы строк и «довольно печатать» вывод JSON. Есть идеи, как это сделать? Моя единственная альтернатива, которую я вижу, - вообще не использовать json_encode и просто писать содержимое файла вручную и добавлять в свои строки разрывы для каждой строки.

Вот что я получаю:

{"product_name":"prod1","val1":1,"val2":8}

Вот что я хочу:

{
  "product_name":"prod1",
  "val1":1,
  "val2":8
}

Я полагаю, что я мог бы просто заменить каждую запятую командой, за которой следует \ n, и тем же самым для скобок ... Мысли?

https://src-bin.com


Answer #1

Hmmm $array = json_decode($json, true); сделает вашу строку массив, который легко печатать с помощью print_r($array, true);

Но если вы действительно хотите превзойти своего json ... Проверьте это


Answer #2

PHP имеет параметр JSON_PRETTY_PRINT с 5.4.0 (дата выпуска 01-март-2012).

Это должно сделать работу:

$json = json_decode($string);
echo json_encode($json, JSON_PRETTY_PRINT);

См. http://www.php.net/manual/en/function.json-encode.php

Примечание. Не забудьте повторить «<pre>» до и </ pre> после, если вы печатаете его в HTML;)


Answer #3

Вот функция для вашего json: pretty_json





encode