通过 php 非数组从 json 文件获取值

get value from json file via php non array

我是 json 的初学者,请帮助
我正在尝试通过 php 脚本从在线发布的 json 文件中访问某些对象的值,但无法按照此论坛中的示例进行操作

<?php
$str = file_get_contents('http://data.companieshouse.gov.uk/doc/company/02050399.json');
$json = json_decode($str, true);
$companyname = $json["primary topic"]["CompanyName"];
print $companyname;
?>

我收到以下错误

( ! ) Notice: Undefined index: primary topic in C:\wamp\www\json.php on line 4
Call Stack
#   Time    Memory  Function    Location
1   0.0000  244456  {main}( )   ..\json.php:0

我试过单引号和双引号,[0] 用于数组但无济于事

我认为您在 'primary topic' 键处有误。我在响应中看到的键名是 'primaryTopic'。你能再检查一下吗?

你应该使用 primaryTopic :

$str = file_get_contents('http://data.companieshouse.gov.uk/doc/company/02050399.json');
$json = json_decode($str, true);
$companyname = $json["primaryTopic"]["CompanyName"];
print $companyname;

输出将:ZENITH PRINT (UK) LIMITED