用PHP解析Json文件

时间:2016-11-02 20:57:39

标签: php json parsing

我正在尝试解析以下Json文件:

{
"Itineraries" : [{
            "date1" : "20/Jan/2016",
            "date2" : "20/Jan/1996",
            "Options" : [
                {
                    "Num_ID" : [398],
                    "Quotedwhen" : today,
                    "Price" : 330.00
                }
            ]
        }
    ]

}

我正在使用以下PHP代码:

$json2 = file_get_contents("data.json");
var_dump(json_decode($json2));
$parsed_json2 = json_decode($json2);
$price = $parsed_json2->{'Itineraries'}->{'Options'}->{'Price'};

我收到以下错误(第35行是上面PHP代码的最后一行):

  

注意:尝试在第35行的/Applications/XAMPP/xamppfiles/htdocs/php/jsonread.php中获取非对象的属性

     

注意:尝试在第35行的/Applications/XAMPP/xamppfiles/htdocs/php/jsonread.php中获取非对象的属性

你知道如何解决这个问题吗?

2 个答案:

答案 0 :(得分:2)

你必须把字符串

today

双重qoutes

"today"

因为它是一个字符串:)

答案 1 :(得分:0)

您收到该消息的原因是因为您的JSON无效,json_decode()无法返回对象。你今天需要加双引号。您也正在错误地访问数据。

以下是获得价格的正确代码:

echo($parsed_json2->Itineraries[0]->Options[0]->Price);

你在这里创建了很多数组,其中只有一个项目,你是否打算拥有多个行程,多个选项对象和每个选项对象多个Num_ID?如果没有,你可以摆脱很多方括号。