2011-12-11 75 views
1

我從谷歌API此JSON VAR:谷歌字體API/JSON/PHP/json_decode

$json=' 
{ 
"kind": "webfonts#webfontList", 
"items": [ 
{ 
    "kind": "webfonts#webfont", 
    "family": "Jockey One", 
    "variants": [ 
    "400" 
    ], 
    "subsets": [ 
    "latin", 
    "latin-ext" 
    ] 
    }, 
    { 
    "kind": "webfonts#webfont", 
    "family": "Josefin Sans", 
    "variants": [ 
    "100", 
    "100italic", 
    "300", 
    "300italic", 
    "400", 
    "400italic", 
    "600", 
    "600italic", 
    "700", 
    "700italic" 
    ], 
    "subsets": [ 
    "latin" 
    ] 
    }, 
.... 
] 
}'; 

$ JSON和PHP爲了顯示這樣的信息我怎麼能解碼:

  • 字體1:家庭 - 變型 - 亞羣
  • 字體2:家庭 - 變型 - 亞

防爆第二項:

  • 字體家族:Josefin Sans |變種:100,100italic,300 ... |子集:拉丁

謝謝

+0

使用'json_decode()'。然後通過數組 –

+0

可以給你一個使用json_decode的php代碼的例子嗎? Thx – prestarocket

回答

3
$data = json_decode($json,true); 
$items = $data['items']; 
$i = 0; 
foreach ($items as $item) { 
    $i++; 
    $str = 'Font '.$i.' '.$item['family'].' Subsets:'; 
    foreach ($item['variants'] as $variant) { 
     $str .= ' '.$variant.' '; 
    } 
    $str.= ' Variants'; 
    foreach ($item['subsets'] as $subset) { 
     $str .= ' '.$subset; 
    } 
    echo $str.'<br />'; 
} 

這不正是你想要的。

+0

有趣,謝謝 – prestarocket

0

我覺得最舒服的方式就是在PHP代碼中創建一個數據結構,該JSON你將解碼到這個類型的項目列表。 然後,迭代這個列表並獲取所需的數據將非常簡單。

,我說的是數據結構的東西,將包含

String : kind 
String : family 
List<String> : variants 
List<String> : subsets 

希望這有助於...

+0

也許它可以幫助,但我是一個初學者在PHP中。 – prestarocket