码迷,mamicode.com
首页 > Web开发 > 详细

Json数据格式化

时间:2016-04-21 15:11:17      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:


<?php  
 
/** Json数据格式化
* @param  Mixed  $data   数据
* @param  String $indent 缩进字符,默认4个空格
* @return JSON
*/  
function jsonFormat($data, $indent=null){  
 

 
    // 缩进处理  
    $ret = ‘‘;  
    $pos = 0;  
    $length = strlen($data);  
    $indent = isset($indent)? $indent : ‘    ‘;  
    $newline = "\n";  
    $prevchar = ‘‘;  
    $outofquotes = true;  
 
    for($i=0; $i<=$length; $i++){  
 
        $char = substr($data, $i, 1);  
 
        if($char==‘"‘ && $prevchar!=‘\\‘){  
            $outofquotes = !$outofquotes;  
        }elseif(($char==‘}‘ || $char==‘]‘) && $outofquotes){  
            $ret .= $newline;  
            $pos --;  
            for($j=0; $j<$pos; $j++){  
                $ret .= $indent;  
            }  
        }  
 
        $ret .= $char;  
          
        if(($char==‘,‘ || $char==‘{‘ || $char==‘[‘) && $outofquotes){  
            $ret .= $newline;  
            if($char==‘{‘ || $char==‘[‘){  
                $pos ++;  
            }  
 
            for($j=0; $j<$pos; $j++){  
                $ret .= $indent;  
            }  
        }  
 
        $prevchar = $char;  
    }  
 
    return $ret;  
}  
 
 
header(‘content-type:application/json;charset=utf8‘);  
 

$json_string = file_get_contents(‘json_string.txt‘);
echo jsonFormat($json_string);  
 
?> 

 

 

json string : { "people": [{ "firstName": "Brett", "lastName":"McLaughlin", "email": "aaaa" },{ "firstName": "Jason", "lastName":"Hunter", "email": "bbbb"},{ "firstName": "Elliotte", "lastName":"Harold", "email": "cccc" }]}

Json数据格式化

标签:

原文地址:http://www.cnblogs.com/i65535/p/5416852.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!