JSON编码就像facebook图

时间:2012-04-29 11:36:24

标签: json

无论如何都知道json编码完全安排像这样的https://graph.facebook.com/4像facebook图吗?

当我写json时,简单地说php echo json_encode这将会出来{"id":"4","name":"Mark Zuckerberg","first_name":"Mark","last_name":"Zuckerberg","link":"https://www.facebook.com/zuck","username":"zuck","gender":"male","locale":"en_US"}

只是一条直线......:D有人知道吗? :D请分享

2 个答案:

答案 0 :(得分:1)

对于PHP> = 5.4.0,使用json_encode时可以使用JSON_PRETTY_PRINT选项

对于PHP< 5.4.0,您可以在PHP手册http://www.php.net/manual/en/function.json-encode.php#80339

的此页面中使用用户提供的注释中的代码
<?php 
// Pretty print some JSON 
function json_format($json) 
{ 
    $tab = "  "; 
    $new_json = ""; 
    $indent_level = 0; 
    $in_string = false; 

    $json_obj = json_decode($json); 

    if($json_obj === false) 
        return false; 

    $json = json_encode($json_obj); 
    $len = strlen($json); 

    for($c = 0; $c < $len; $c++) 
    { 
        $char = $json[$c]; 
        switch($char) 
        { 
            case '{': 
            case '[': 
                if(!$in_string) 
                { 
                    $new_json .= $char . "\n" . str_repeat($tab, $indent_level+1); 
                    $indent_level++; 
                } 
                else 
                { 
                    $new_json .= $char; 
                } 
                break; 
            case '}': 
            case ']': 
                if(!$in_string) 
                { 
                    $indent_level--; 
                    $new_json .= "\n" . str_repeat($tab, $indent_level) . $char; 
                } 
                else 
                { 
                    $new_json .= $char; 
                } 
                break; 
            case ',': 
                if(!$in_string) 
                { 
                    $new_json .= ",\n" . str_repeat($tab, $indent_level); 
                } 
                else 
                { 
                    $new_json .= $char; 
                } 
                break; 
            case ':': 
                if(!$in_string) 
                { 
                    $new_json .= ": "; 
                } 
                else 
                { 
                    $new_json .= $char; 
                } 
                break; 
            case '"': 
                if($c > 0 && $json[$c-1] != '\\') 
                { 
                    $in_string = !$in_string; 
                } 
            default: 
                $new_json .= $char; 
                break;                    
        } 
    } 

    return $new_json; 
} 
?>

答案 1 :(得分:0)

如果您使用的是FireFox,这可能有所帮助!

http://jsonview.com/

或者只是使用这个......

http://jsbeautifier.org/

希望这些帮助!