Php 试图从json api获取数据
我在做一个很小的项目。我正试图从这个json响应中提取Php 试图从json api获取数据,php,json,Php,Json,我在做一个很小的项目。我正试图从这个json响应中提取“name”:“PHP”,,但我对如何处理这个问题感到非常困惑。这是json: "request": "https://whatcms.org/APIEndpoint/Technology?key=hidden&url=en.wikipedia.org", "request_web": "https://whatcms.org/?s=en.wikipedia.org", "result": { "code": 200,
“name”:“PHP”,
,但我对如何处理这个问题感到非常困惑。这是json:
"request": "https://whatcms.org/APIEndpoint/Technology?key=hidden&url=en.wikipedia.org",
"request_web": "https://whatcms.org/?s=en.wikipedia.org",
"result": {
"code": 200,
"msg": "Success"
},
"results": [
{
"categories": [
"Wiki"
],
"name": "MediaWiki",
"url": "https://whatcms.org/c/MediaWiki",
"version": "1.34.0"
},
{
"categories": [
"Programming Language"
],
"name": "PHP",
"version": ""
},
{
"categories": [
"Web Server"
],
"name": "HHVM",
"version": "3.18.6"
}
]
}
这是我尝试过的代码,但似乎不起作用。我收到此错误注意:试图获取非对象的属性“name”
$data=file\u get\u contents($url);
$categories=json_解码($data);
$output=$categories->results->name;
echo$输出;
我对php和json非常陌生,所以我不太确定我在做什么。任何帮助都会很好,谢谢。您的代码无法工作,因为
$categories->results
不是对象,而是数组
您可以访问数组中第一个对象的名称,如下所示:
$categories->results[0]->name;
如果要获取所有名称,可以在数组上循环或映射:
数组映射(函数($category){
返回$category->name;
},$categories->results);