如何在 PHP 中将无效的 JSON 格式化为正确的 JSON 格式?
How to format the invalid JSON to a proper JSON format in PHP?
以下 json 字符串在执行 json_decode() 时产生问题。在删除空格、斜杠、\n 时,它正在工作。有人可以建议吗?
{\n \"long_format\":{\n \"date\":\"DD/MM/YYYY\",\n \"time\":\"H:mm:ss\",\n \"date_time\":\"DD/MM/YYYY H:mm:ss\"\n },\n \"short_format\":{\n \"date\":\"DD/MM/YY\",\n \"time\":\"hh:mm:ss A\",\n \"date_time\":\"DD/MM/YY hh:mm:ss A\"\n }\n}
您可以使用preg_replace()
$string = preg_replace(array('/\\n\s+/m','/\\n/m','/\\"/m'), array('','','"'), $string);
print_r(json_decode($string,true));
注意:最好更正创建此 json 数据的源代码,以防您可以控制它。
以下 json 字符串在执行 json_decode() 时产生问题。在删除空格、斜杠、\n 时,它正在工作。有人可以建议吗?
{\n \"long_format\":{\n \"date\":\"DD/MM/YYYY\",\n \"time\":\"H:mm:ss\",\n \"date_time\":\"DD/MM/YYYY H:mm:ss\"\n },\n \"short_format\":{\n \"date\":\"DD/MM/YY\",\n \"time\":\"hh:mm:ss A\",\n \"date_time\":\"DD/MM/YY hh:mm:ss A\"\n }\n}
您可以使用preg_replace()
$string = preg_replace(array('/\\n\s+/m','/\\n/m','/\\"/m'), array('','','"'), $string);
print_r(json_decode($string,true));
注意:最好更正创建此 json 数据的源代码,以防您可以控制它。