Встроенная
PHP PRETTY_PRINT
не допускает особых настроек, кроме нескольких дополнительных флагов:
JSON_UNESCAPED_SLASHES
JSON_UNESCAPED_UNICODE
Но вид настройки, который я ищу, это тот, который преобразует отображаемое JSON, так что в итоге он выглядит так:
- меньше по горизонтали
- Отступы с двумя пробелами вместо 4
- более вертикальные
- переводы строк в начале массивов и объектов
- переводы строк между массивами и объектами одного уровня
- переводы строк между записями одного уровня
Таким образом, вместо разнесенных по горизонтали:
[
{
"berry": "banana",
"description": [
"yellow",
"sweet"
],
"notes": []
},
{
"berry": "aubergine",
"taste": [
"purple",
"bitter"
],
"notes": []
}
]
У меня может быть разнесение по вертикали:
[
{
"berry": "banana",
"description": [
"yellow",
"sweet"
],
"notes": []
},
{
"berry": "aubergine",
"description": [
"purple",
"bitter"
],
"notes": []
}
]
Есть ли в PHP 7.x
что-нибудь, что позволило бы мне настроить вывод довольно напечатанного JSON?
Историческая справка:
Классификация c ссылка на переформатирование JSON в PHP равна Формат JSON С PHP * 1 052 * Дейв Перретт .
Это дата 2008 года, предшествующая даже знаку PRETTY_PRINT
(который появился 4 года спустя в 2012 году).