JSON PHP查询

时间:2014-04-07 23:48:14

标签: php json

我有一个关于查询使用嵌套对象的JSON结构的问题。为了解释,我将使用一些例子。

对于示例清单,变量 $ json 是一个JSON文件:

movies [{"name":"good movie", "poster":"link"}]  

通常在我在JSON文件上使用 json_decode()函数后,我可以执行类似

的操作
$newFiles = $json["movies"];

foreach ($newFiles as $file) {
$name = $file["name"]; }

但是,假设我有这个JSON文件:

movies[{"name":"good movie", "poster": {"original":"link", "smaller":"link"}}]

我如何获得"原创" 的价值,我尝试过这样的事情:

$newFiles = $json["movies"];

foreach ($newFiles as $file) {
$poster = $file["poster" -> "original"]; }
然而,这并不起作用。我找不到合适的语法来查询它。任何帮助表示感谢,提前谢谢!

1 个答案:

答案 0 :(得分:1)

使用json_decode()解码json时,请将第二个参数设置为true,如下所示:

<?php
$movies = '[{"name":"good movie", "poster": {"original":"link", "smaller":"link"}}]';
$movieArray = json_decode($movies,true);

foreach($movieArray as $movie){
    print_r($movie['poster']['original']);
}
?>

这将允许您将返回的对象转换为关联数组。因此,可以执行$movie['poster']['original']

之类的操作