我正在构建一个PHP脚本,将JSON数据提供给另一个脚本.我的脚本将数据构建到一个大型关联数组中,然后使用json_encode输出数据.以下是一个示例脚本:

$data = array('a' => 'apple', 'b' => 'banana', 'c' => 'catnip');
header('Content-type: text/javascript');
echo json_encode($data);

上述代码产生以下输出:

{"a":"apple","b":"banana","c":"catnip"}

如果你有少量的数据,这是很好的,但我更喜欢以下内容:

{
    "a": "apple",
    "b": "banana",
    "c": "catnip"
}

有没有一种方法可以在PHP中做到这一点,而不必进行丑陋的黑客攻击?好像有人在Facebook岁的时候就知道了.

推荐答案

PHP5.4提供了用于json_encode()调用的JSON_PRETTY_PRINT选项.

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

<?php
...
$json_string = json_encode($data, JSON_PRETTY_PRINT);

Php相关问答推荐

如何使用动态键来获取Laravel Livewire表格中的错误?

Laravel 10查询中的多个where子句

如何在数据库中添加注册表单中的动态新行?

Laravel eloquent-如果没有包含InitialValue的结果,则查询where Second Value

如何将WooCommerce产品属性术语名称显示为链接术语?

WooCommerce我的帐户:从帖子作者处获取自定义帖子类型帖子ID

根据WooCommerce Cart小计阈值自动应用优惠券

PHP -将字符串拆分为两个相等的部分,但第二个字符串中的单词更多

升级到PHP 8.2后无法删除cURL Cookie文件

如何在laravel中添加延迟?

除WooCommerce中的特定国家/地区外,有条件地要求填写邮政编码 checkout 字段

更改特定产品标签的 Woocommerce 产品名称

显示自定义 Laravel 9 公共属性的错误

.htaccess 重写规则问题

Laravel 10 中的自定义类未找到

在 WooCommerce 我的帐户自定义部分显示未购买的产品

在wordpress注销后防止后退操作

PHP 中的正则表达式,具有字符范围,但不包括特定字符

输出每个可能的产品选项

将样式文件或脚本引入WordPress模板