我有这段代码:
<?php
header('Content-Type: text/javascript; charset=UTF-8');
header('Cache-Control: private, no-cache, no-store, must-revalidate');
header('Pragma: no-cache');
header('Expires: Sat, 01 Jan 2000 00:00:00 GMT');
$data = array(
"data" => array(
"sender" => "Jhon Andrew",
"recipient" => "Someone OverThe Internet",
"conversation" =>
array(
"unix" => "1234567890",
"message" => "Lorem ipsum dolor sit amet."
),
array(
"unix" => "0987654321",
"message" => "Tema tis rolod muspi merol."
)
)
);
echo json_encode($data);
?>
我期待这样的结果:
{
"data": {
"sender":"Jhon Andrew",
"recipient":"Someone OverThe Internet",
"message":"Lorem ipsum dolor sit amet."
}
}
但我把它显示在一行中,就像这样:
{"data":{"sender":"Jhon Andrew","recipient":"Someone OverThe Internet","message":"Lorem ipsum dolor sit amet."}}
如何才能像我期望的那样获得格式正确的JSON输出?实际上它并不重要,但我只是希望以良好的格式看到结果。
...顺便说一下,我刚从facebooks图片链接中复制了标题 因为这就是我想输出结果的方式。例: graph.facebook.com/mOngsAng.gA
当然有效。我想知道的是如何输出它 这个:graph.facebook.com/mOngsAng.gA - 你可以看到它是正确的 格式化。我的意思是它有换行符和缩进。与我不同 获得只是在一行显示。
答案 0 :(得分:4)
在php手册中查看json_encode()
的JSON_PRETTY_PRINT
标志。
你可以简单地使用:
$data = json_encode($data, JSON_PRETTY_PRINT);
如果您未使用PHP 5.4
或更高版本,请尝试使用已接受的问题答案:Pretty-Printing JSON with PHP。
但是,你的有效 json输出!