gpt4 book ai didi

php - 使用 PHP 解析 JSON

转载 作者:行者123 更新时间:2023-12-03 23:02:02 25 4
gpt4 key购买 nike

我有以下从服务提要中提取的 JSON 内容:

[
{
"global_event":{
"ending_at":"2011-11-07T02:00:00Z",
"short_url":"http://bit.ly/reAhRw",
"created_at":"2011-10-04T14:25:41Z",
"event_responses":[

],
"addresses":{
"location":{
"city":"blah",
"latitude":30.205288,
"zipcode":"343434",
"street":"blah",
"longitude":-95.475289,
"state":"TX"
}
},
"body":"blahblahblah",
"euid":"2f489d0c82d167f1c16aba5d3b4c29ade6f1d52a",
"title":"Fusion",
"updated_at":"2011-10-04T14:26:57Z",
"event_roles":[

],
"user":{
"long_name":"Fusion Single",
"nickname":""
},
"event_items":[

],
"starting_at":"2011-11-07T00:00:00Z"
}
}
]

我尝试了以下代码来解析它无济于事:

$json = @file_get_contents('jsonfeed');
$feed = json_decode($json);

foreach($feed->global_event as $item) {
$rss_item = array(
'title' => $item->title,
'link' => $item->short_url,
'author' => $item->long_name,
'content' => $item->body,
'date' => $item->updated_at,
'type' => 'Woodlands Church'
);
array_push($this->rss, $rss_item);
}

创建的最终数组 $this->rss 中没有任何内容,只是一个空数组。有什么想法吗?

最佳答案

在 JSON 中,花括号(“{”和“}”)定义对象,而不是数组。尖括号定义数组。

所以 $feed 是一个数组,包含 1 个对象和 1 个名为 global_event 的属性。

循环应该是:

$feed = json_decode($json);
foreach($feed as $obj) {
$item = $obj->global_event;

$rss_item = array(
'title' => $item->title,
'link' => $item->short_url,
'author' => $item->long_name,
'content' => $item->body,
'date' => $item->updated_at,
'type' => 'Woodlands Church'
);
array_push($this->rss, $rss_item);
}

关于php - 使用 PHP 解析 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7889738/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com