2011-12-11 60 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