我想格式化echo json_encode,输出目前是
{"results":{"course":"CC140","books":{"book":[[{"id":"300862","title":"Building object-oriented software","isbn":"0070431965","borrowedcount":"6"}]]}}}
我希望输出如下:
{
"results": {
"course": "CC140",
"books": {
"book": [
[
{
"id": "300862",
"title": "Building object-oriented software",
"isbn": "0070431965",
"borrowedcount": "6"
}
]
]
}
}
}
这是制作JSON的代码
$temp = array();
foreach ($my_array as $counter => $bc) {
$temp['id'] = "$id[$counter]";
$temp['title'] = "$title[$counter]";
$temp['isbn'] = "$isbn[$counter]";
$temp['borrowedcount'] = "$borrowedcount[$counter]";
$t2[] = $temp;
}
$data = array(
"results" => array(
"course" => "$cc",
"books" => array(
"book" =>
array(
$t2
)
)
)
);
echo json_encode($data);
任何帮助或指示将不胜感激,谢谢
添加此
header('Content-type: application/json');
echo json_encode($data, JSON_PRETTY_PRINT);
格式化JSON,但标题也超出了整个HTML文档
答案 0 :(得分:17)
我给出的第一条建议是:不要。 JSON是一种数据格式。使用工具处理它,而不是尝试让服务器格式化它。
如果您要忽略这一点,请参阅json_encode
function手册,其中列出选项,其中包含JSON_PRETTY_PRINT
,其中描述为在返回的数据中使用空格来格式化它。从PHP 5.4.0开始提供。
因此步骤如下:
json_encode($data, JSON_PRETTY_PRINT);
答案 1 :(得分:3)
您可以在php 5.4 +
中使用json_encode($data, JSON_PRETTY_PRINT)
在php 5.3&在那之下,你可以尝试用正则表达式格式化它,但它不太安全(或者你可以使用库来编码json)。