0

とにかく、このhttps://graph.facebook.com/4のように facebook グラフのように完全に配置された json エンコーディングについて知っていますか?

単純に 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 共有してください

4

2 に答える 2

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; 
} 
?>
于 2012-04-29T11:47:10.003 に答える
0

FireFox を使用している場合は、これが役立つ可能性があります。

http://jsonview.com/

それともこれを使って...

http://jsbeautifier.org/

これらが役立つことを願っています!

于 2012-04-29T11:40:51.740 に答える