我正在尝试创建一个Wordpress插件,该插件将引入JSON文件并(使用循环)为JSON文件中的每个对象创建一个元素。但是,这个特定的JSON文件的格式是我没有看到过的,因此我很难搞清楚如何提取数据。文件的开头和结尾标有数组括号。
这是JSON file。
所以第一个对象看起来像这样:
[{
"title": "Moderate earthquake - Fiji Region on June 5, 2014",
"magnitude": "4.5",
"location": "FIJI REGION",
"depth": "334",
"latitude": "-15.63",
"longitude": "-176.92",
"date_time": "2014-06-05T04:17:31+00:00",
"link": "http://earthquake-report.com/2014/06/05/moderate-earthquake-fiji-region-on-june-5-2014/"
},
所以我得到了这个:
$json_feed_url = 'http://earthquake-report.com/feeds/recent-eq?json';
$args = array('timeout' => 120);
$json_feed = wp_remote_get($json_feed_url, $args);
$earthquake_data = json_decode($json_feed);
我如何实际将其拉入并打印出来?我不能只使用$ earthquake_data->标题,我需要一种能够使用索引从每个对象中提取的方法,因为它们没有名称。我是否需要从0指数开始并从那里开始?
echo $earthquake_data[0];
echo $earthquake_data[0]{$countervariable->title};
正如我所说,我想从本文档中的最后25个对象中提取信息。任何帮助将不胜感激。
答案 0 :(得分:2)
$json_feed_url = 'http://earthquake-report.com/feeds/recent-eq?json';
$args = array('timeout' => 120);
$json_feed = wp_remote_get($json_feed_url, $args);
$earthquake_data = json_decode($json_feed);
// $earthquake_data should be an array
foreach ($earthquake_data as $obj) {
var_dump($obj);
// example
echo $obj->title;
}
答案 1 :(得分:0)
我刚刚下载了该文件,因为我不使用wp。
诀窍是使用' json_decode( data , true ),然后PHP将所有对象转换为数组。只是几个' foreach'循环将打印它,从中选择等。
这是一些经过测试的示例代码。
<?php
$dc = json_decode(file_get_contents('earthquake.json'), true);
foreach ($dc as $details) {
echo '<strong>', $details['title'], '</strong><br />';
foreach($details as $name => $value) {
echo $name, ' => ', $value, '<br />';
}
}