如何在PHP中解析类似geo:point的JSON?

如何在PHP中解析类似geo:point的JSON?,php,json,parsing,Php,Json,Parsing,可能重复: 我正在尝试解析geo:point/geo:lat,但进展很快。这是我目前掌握的代码 $content = get_data('http://ws.audioscrobbler.com/2.0/?method=geo.getevents&location=united+kingdom&api_key=XXX&format=json&limit=10000&festivalsonly=1'); $LFMdata = json_decode

可能重复:

我正在尝试解析geo:point/geo:lat,但进展很快。这是我目前掌握的代码

  $content = get_data('http://ws.audioscrobbler.com/2.0/?method=geo.getevents&location=united+kingdom&api_key=XXX&format=json&limit=10000&festivalsonly=1');
  $LFMdata = json_decode($content);
  foreach ($LFMdata->events->event as $event) {
      $venue_lat = $event->venue->location["geo:point"]["geo:lat"];
      $venue_long = $event->venue->location["geo:point"]["geo:long"];
JSON将包含如下内容

"geo:point": {
     "geo:lat": "52.7352",
     "geo:long": "-1.695392"
}
有人知道吗?可以在JavaScript中看到示例,但不能在PHP中看到

$venue_lat = $event->venue->location->{"geo:point"}->{"geo:lat"};
或者让它像关联数组一样返回所有内容(第二个参数
json_decode
设置为
true
):


什么是变量转储($LFMdata)返回?请尝试
$object->{'geo:point'}->{'geo:lat}
或类似操作。是否确实已将
位置作为数组返回?尝试执行
var\u dump($event->vention->location)
并查看它将返回什么:对象(stdClass){6(5){[“geo:point”]=>object(stdClass){7(2){[“geo:lat”]=>string(0)”[“geo:long”]=>string(0)”}[“city”=>string(6)“伦敦”[“国家”=>string(14)“英国”[“街道”=>string(0)”[“邮政编码”=>string(0)”}
@halfer的答案是正确的,或者返回一个数组(json_decode($data,TRUE))。
 $LFMdata = json_decode($content, true);
  foreach ($LFMdata["events"]["event"] as $event) {
      $venue_lat = $event["venue"]["location"]["geo:point"]["geo:lat"];
      $venue_long = $event["venue"]["location"]["geo:point"]["geo:long"];