JSON漂亮的打印,不使用php

时间:2017-09-20 13:07:46

标签: php json

例如我有这样的json字符串(从第一位开始)。它没有格式化。

  

{ “数据”:[{ “ID”: “14”, “memo_kondisi”:“Kekurangan   pekerjaan “ ”total_row“: ”5“, ”nilai_temuan“: ”1.000.000“, ”data_sebab“:[{ ”ID“: ”15“, ”id_sebab“: ”“, ”id_sub_sebab“: ”“,” memo_sebab “:” 科巴”, “data_rekomendasi”:[{ “ID”: “25”, “id_rekomendasi”: “10”, “id_sub_rekomendasi”: “”, “id_s_sub_rekomendasi”: “”, “nilai_rekomendasi”: “0” },{ “ID”: “26”, “id_rekomendasi”: “10”, “id_sub_rekomendasi”: “”, “id_s_sub_rekomendasi”: “”, “nilai_rekomendasi”: “0”},{ “ID”: “31” “id_rekomendasi”: “10”, “id_sub_rekomendasi”: “”, “id_s_sub_rekomendasi”: “”, “nilai_rekomendasi”: “0”}]},{ “ID”: “16”, “id_sebab”: “”, “id_sub_sebab”: “”, “memo_sebab”: “科巴”, “data_rekomendasi”:[{ “ID”: “34”, “id_rekomendasi”: “10”, “id_sub_rekomendasi”: “”, “id_s_sub_rekomendasi”: “” “nilai_rekomendasi”: “0”},{ “ID”: “35”, “id_rekomendasi”: “10”, “id_sub_rekomendasi”: “”, “id_s_sub_rekomendasi”: “”, “nilai_rekomendasi”: “0”}] }]},{ “id为”: “15”, “memo_kondisi”:“Kekurangan   pekerjaan “ ”total_row“: ”2“, ”nilai_temuan“: ”1.000.000“, ”data_sebab“:[{ ”ID“: ”5“, ”id_sebab“: ”“, ”id_sub_sebab“: ”“,” memo_sebab “:” 科巴”, “data_rekomendasi”:[]},{ “ID”: “10”, “id_sebab”: “”, “id_sub_sebab”: “”, “memo_sebab”: “科巴”, “data_rekomendasi”: []}]},{ “ID”: “16”, “memo_kondisi”: “”, “total_row”: “2”, “nilai_temuan”: “0”, “data_sebab”:[{ “ID”:“9 “ ”id_sebab“: ”“, ”id_sub_sebab“: ”“, ”memo_sebab“: ”科巴“, ”data_rekomendasi“:[]},{ ”ID“: ”12“, ”id_sebab“: ”“,” id_sub_sebab “:””, “memo_sebab”: “科巴”, “data_rekomendasi”:[]}]}]}

我看到一些类似的问题,您必须使用json_decode,我必须再次编码并使用json_encode($json,JSON_PRETTY_PRINT)

有没有办法让make json可以读取而不首先解码JSON并在PHP中再次编码?

注意:我希望结果仍然是JSON

2 个答案:

答案 0 :(得分:2)

只有解析器才能理解JSON,因此您既可以执行您的建议,也可以编写自己的解析器。如果您可以访问JSON的原点,那么首先要使它变得漂亮。

答案 1 :(得分:2)

不是真的。使用别人的解析器lib不会有任何区别,因为他们也会调用json_decode()

您可以创建一个可以调用的小功能:

function prettify($json)
{
    $array = json_decode($json, true);
    $json = json_encode($array, JSON_PRETTY_PRINT);
    return $json;
}

然后echo prettify($jsonString);比不断解码和重新编码更容易。见https://3v4l.org/CcJlf