我在抓取此网址中的任何JSON信息时遇到了困难。
我已经尝试了其他JSON代码段,但它们似乎有效,所以我不确定它是否是URL结构化的方式。
以下基本示例。
<?php
$json = file_get_contents('http://nhs-sh.cfpreview.co.uk/api/version/fetchLatestData?dataType=Clinics&versionNumber=-1&uuID=website&dt=');
$obj = json_decode($json);
echo "Body: " . $obj->Body;
?>
答案 0 :(得分:1)
提供的链接以
开头{ data :
这是有效的javascript但无效的json。您可以在http://jsonlint.com上对其进行测试。要解决此问题,我们可以将data
替换为"data"
:
$json = file_get_contents('http://nhs-sh.cfpreview.co.uk/api/version/fetchLatestData?dataType=Clinics&versionNumber=-1&uuID=website&dt=');
$obj = json_decode($json);
if (json_last_error() !== JSON_ERROR_NONE) { //check if there was an error decoding json
$json = '{ "data" :'. substr(trim($json), 8); // replace the first 8-1 characters with { "data" :
$obj = json_decode($json);
}
print_r($obj->data); //show contents of data
请注意,此修复程序取决于数据源,例如如果他们将data
更改为dataset
。正确的措施是要求开发人员修复他们的json实现。