我正在尝试解析以下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中获取非对象的属性
你知道如何解决这个问题吗?
答案 0 :(得分:2)
你必须把字符串
today
双重qoutes
"today"
因为它是一个字符串:)
答案 1 :(得分:0)
您收到该消息的原因是因为您的JSON无效,json_decode()无法返回对象。你今天需要加双引号。您也正在错误地访问数据。
以下是获得价格的正确代码:
echo($parsed_json2->Itineraries[0]->Options[0]->Price);
你在这里创建了很多数组,其中只有一个项目,你是否打算拥有多个行程,多个选项对象和每个选项对象多个Num_ID?如果没有,你可以摆脱很多方括号。