Php 漂亮的打印JSON不是';行不通

Php 漂亮的打印JSON不是';行不通,php,json,Php,Json,我正在尝试在PHP中漂亮地打印JSON,我已经看过这样的线程,但它不起作用。我使用的是PHP7.0.8-0ubuntu0.16.04.3 代码: 输入JSON [{"title":"The Chainsmokers - Closer (Lyric) ft. Halsey","length":262000,"id":"PT2_F-1esPk","requester":"158310004187725824","guildId":"226785954537406464"}] 出于某种原因,选项JS

我正在尝试在PHP中漂亮地打印JSON,我已经看过这样的线程,但它不起作用。我使用的是PHP7.0.8-0ubuntu0.16.04.3

代码:

输入JSON

[{"title":"The Chainsmokers - Closer (Lyric) ft. Halsey","length":262000,"id":"PT2_F-1esPk","requester":"158310004187725824","guildId":"226785954537406464"}]

出于某种原因,选项
JSON\u PRETTY\u PRINT
JSON\u UNESCAPED\u SLASHES
实际上不起作用。为什么呢?这些来自PHP5.4,我使用PHP7。

$\u POST['json\u data']
已经是一个json字符串,所以您正在编码已经编码的东西;这基本上只是转义字符串中的所有双引号,并在结果周围加引号。您需要先对其进行解码,然后用漂亮的打印方式对结果进行编码

if (isset($_POST['json_data'])) {
    $data = json_decode($_POST['json_data']);
    echo json_encode($data, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES);
}

@MaxZoom刚刚试过,同样的问题!该输出看起来是双重JSON编码的。
[{"title":"The Chainsmokers - Closer (Lyric) ft. Halsey","length":262000,"id":"PT2_F-1esPk","requester":"158310004187725824","guildId":"226785954537406464"}]
if (isset($_POST['json_data'])) {
    $data = json_decode($_POST['json_data']);
    echo json_encode($data, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES);
}