【发布时间】:2019-03-05 11:40:31
【问题描述】:
我有一个来自 URL 的简短 JSON 文件
https://api.crossref.org/works?query.title=Tuberculosis+drug&filter=type:journal-article,from-print-pub-date:2010,until-print-pub-date:2010&select=DOI&rows=3
我使用此代码获取total-results 和DOI 值的列表
$crossref_api_url = 'https://api.crossref.org/works?query.title=Tuberculosis+drug&filter=type:journal-article,from-print-pub-date:2010,until-print-pub-date:2010&select=DOI&rows=2';
$JSON = file_get_contents($crossref_api_url);
$Array = json_decode($JSON, true);
$items_list = $message->items;
$totalItems = $message->total-results;
echo $totalItems;
for($i = 0; $i < count($items_list ); $i++) {
$doi = $items_list[$i]->items->DOI;
echo $doi;
}
结果出现0。没有totalItems 值,DOI 列表。
请帮我找出我的代码的错误。谢谢
【问题讨论】:
-
$message?它在哪里定义? -
你得到的结构是
{ "message": { "items": [{ "DOI": "10.1111\/j.1365-2958.2010.07218.x"},但是你正在尝试访问message->items->items。