PHP中如何将JSON字符串转为数组并格式化输出?
正确解析JSON并格式化输出的方案
你当前直接用explode()分割JSON字符串的方式存在问题:不仅会保留多余的大括号、引号,还无法适配更复杂的JSON结构(比如字符串内包含逗号的场景)。正确的做法是用PHP内置的JSON解析函数处理:
修正后的HTML输出代码
$search_data = '{"Search Engine":"High Schools","Population":300,"Avg GPA":"3.2","Graduation Rate":"98%"}'; // 解析JSON为关联数组 $data = json_decode($search_data, true); $display_data = ""; foreach($data as $key => $value){ // 按目标格式拼接每一行(HTML换行) $display_data .= "$key: $value<br/>"; } echo $display_data;
纯文本输出版本(无HTML标签)
如果需要输出纯文本格式,改用系统换行符PHP_EOL:
$search_data = '{"Search Engine":"High Schools","Population":300,"Avg GPA":"3.2","Graduation Rate":"98%"}'; $data = json_decode($search_data, true); $display_data = ""; foreach($data as $key => $value){ $display_data .= "$key: $value" . PHP_EOL; } echo $display_data;
核心说明
- JSON解析:
json_decode($search_data, true)将JSON字符串转为关联数组,第二个参数true确保返回数组而非对象,方便遍历操作。 - 格式化输出:遍历数组时直接获取原生的键(
$key)和值($value),无需手动清理多余的引号、大括号,直接按键: 值的格式拼接即可得到目标效果。
内容的提问来源于stack exchange,提问作者bluePearl
相关产品推荐
相关产品推荐

