我很难使用php foreach
循环从下面的json数据中提取lat lng等数据。
{
"deals": [
"division": {
"timezone": "Central Time (US & Canada)",
"lat": 32.4487,
"timezoneOffsetInSeconds": -18000,
"id": "abilene",
"lng": -99.7331,
"timezoneIdentifier": "America/Chicago",
"name": "Abilene, TX"
},
我想将数据解析为lat lng等。 这是我的PHP代码
$json = file_get_contents($url);
$json_string1 = json_decode($json);
foreach($json_string1->deals as $mydata)
{
foreach($mydata->division as $p)
{
echo $p->lat;
}
}
给出错误Trying to get property of non-object
答案 0 :(得分:2)
这是一个更好的答案,假设您的JSON结构。如果您的JSON不是这样,请编辑您的问题并首先通过jsonlint或类似的方式运行您的json。
<?php
$json = <<<JSON
{
"deals": [
{
"division": {
"timezone": "Central Time (US & Canada)",
"lat": 32.4487,
"timezoneOffsetInSeconds": -18000,
"id": "abilene",
"lng": -99.7331,
"timezoneIdentifier": "America/Chicago",
"name": "Abilene, TX"
}
}
]
}
JSON;
$json_string1 = json_decode($json, false);
foreach($json_string1->deals as $mydata)
{
echo $mydata->division->lat;
}
?>
答案 1 :(得分:0)
在foreach循环中使用$json_string1
而不是$json_string
变量