[英]JSON pretty print without use json_decode in php
例如,我有这样的json字符串(从头开始)。 而且它没有格式化。
{“ data”:[{“ 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“:” coba“,” 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“:” coba“,” 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”:“ 10” “:”“,” 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”:“ coba”,“数据 _rekomendasi“:[]},{” id“:” 10“,” id_sebab“:”“,” id_sub_sebab“:”“,” memo_sebab“:” coba“,” data_rekomendasi“:[]}]},{” id“:” 16“,” memo_kondisi“:”“,” total_row“:” 2“,” nilai_temuan“:” 0“,” data_sebab“:[{” id“:” 9“,” id_sebab“:”“ ,“ id_sub_sebab”:“”,“ memo_sebab”:“ coba”,“ data_rekomendasi”:[]},{“ id”:“ 12”,“ id_sebab”:“”,“ id_sub_sebab”:“”,“ memo_sebab” :“ coba”,“ data_rekomendasi”:[]}]}]]}
我看到一些类似的问题,您必须使用json_decode
,我必须再次编码并使用json_encode($json,JSON_PRETTY_PRINT)
有没有一种方法可以使JSON可读,而无需先解码JSON并再次在PHP中对其进行编码?
注意: 我希望结果仍然是JSON
只有解析器才能理解JSON,因此您可以执行建议的操作或编写自己的解析器。 如果您有权访问JSON的来源,请首先使其美观。
并不是的。 使用其他人的解析器库不会有任何区别,因为他们也会调用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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.