php教程

超轻量级php框架startmvc

php格式化json函数示例代码

更新时间:2020-03-09 05:04:06 作者:startmvc
本文讲述了php格式化json函数的示例代码。分享给大家供大家参考,具体如下:<?php$arr=

本文讲述了php格式化json函数的示例代码。分享给大家供大家参考,具体如下:


<?php
$arr = array("ret"=>0,"data"=>array('a' => 1, 'b' => '2', 'c' => 3, 'd' => 4, 'e' => 5));
$json = json_encode($arr);
/**
* Formats a JSON string for pretty printing
*
* @param string $json The JSON to make pretty
* @param bool $html Insert nonbreaking spaces and <br />s for tabs and linebreaks
* @return string The prettified output
*/
function _format_json($json, $html = false) {
 $tabcount = 0;
 $result = '';
 $inquote = false;
 $ignorenext = false;
 if ($html) {
 $tab = "   ";
 $newline = "<br/>";
 } else {
 $tab = "\t";
 $newline = "\n";
 }
 for($i = 0; $i < strlen($json); $i++) {
 $char = $json[$i];
 if ($ignorenext) {
 $result .= $char;
 $ignorenext = false;
 } else {
 switch($char) {
 case '{':
 $tabcount++;
 $result .= $char . $newline . str_repeat($tab, $tabcount);
 break;
 case '}':
 $tabcount--;
 $result = trim($result) . $newline . str_repeat($tab, $tabcount) . $char;
 break;
 case ',':
 $result .= $char . $newline . str_repeat($tab, $tabcount);
 break;
 case '"':
 $inquote = !$inquote;
 $result .= $char;
 break;
 case '\\':
 if ($inquote) $ignorenext = true;
 $result .= $char;
 break;
 default:
 $result .= $char;
 }
 }
 }
 return $result;
}
echo _format_json($json);
/*
{
 "ret": 0,
 "data": {
 "a": 1,
 "b": 2,
 "c": 3,
 "d": 4,
 "e": 5
 }
}
**/
?>

另外,本站还提供了如下格式化与转换工具方便大家使用:

php代码在线格式化美化工具: http://tools.jb51.net/code/phpformat

在线XML/JSON互相转换工具: http://tools.jb51.net/code/xmljson

JavaScript代码美化/压缩/格式化/加密工具: http://tools.jb51.net/code/jscompress

在线XML格式化/压缩工具: http://tools.jb51.net/code/xmlformat

php 格式化 json php格式化json