Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP中读取外部JSON_Php_Arrays_Json_Decode_File Get Contents - Fatal编程技术网

在PHP中读取外部JSON

在PHP中读取外部JSON,php,arrays,json,decode,file-get-contents,Php,Arrays,Json,Decode,File Get Contents,我试图从PHP中读取JSON,如下所示: [{ "titulo": "DontAsk", "pais": "Austria", "country_iso": "AT", "direccion": "Mag. Th. Langmann Gmbh Landstrasse 4", "cp_ciudad": "A-2000 STOCKERAU", "lat": "48.385583", "long": "16.207823", "telefono": "43-22

我试图从PHP中读取JSON,如下所示:

    [{
  "titulo": "DontAsk",
  "pais": "Austria",
  "country_iso": "AT",
  "direccion": "Mag. Th. Langmann Gmbh Landstrasse 4",
  "cp_ciudad": "A-2000 STOCKERAU",
  "lat": "48.385583",
  "long": "16.207823",
  "telefono": "43-2266-72554-11",
  "fax": "43-2266-72554-44",
  "web": "www.aaa.com"
}, {
  "titulo": "Other One",
  "pais": "Czech Republic",
  "country_iso": "CZ",
  "direccion": "Pod Cihelnou 6",
  "cp_ciudad": "664 161 00 PRAHA 6",
  "lat": "50.092605",
  "long": "14.312707",
  "telefono": "420 233 313 578",
  "fax": "420 233 313 582",
  "web": "www.bbb.com"
}]
$json = '[{
"titulo": "DontAsk",
"pais": "Austria",
"country_iso": "AT",
"direccion": "Mag. Th. Langmann Gmbh Landstrasse 4",
"cp_ciudad": "A-2000 STOCKERAU",
"lat": "48.385583",
"long": "16.207823",
"telefono": "43-2266-72554-11",
"fax": "43-2266-72554-44",
"web": "www.aaa.com"
}, {
"titulo": "Other One",
"pais": "Czech Republic",
"country_iso": "CZ",
"direccion": "Pod Cihelnou 6",
"cp_ciudad": "664 161 00 PRAHA 6",
"lat": "50.092605",
"long": "14.312707",
"telefono": "420 233 313 578",
"fax": "420 233 313 582",
"web": "www.bbb.com"
}]';

$data = json_decode($json, true);
var_dump($data['titulo']);
JSON没有错误,我尝试使用JsonLint并发现它是干净的。 我有更多的插入,但我只推杆2

然后,我尝试以下代码行:

        $json = json_decode(file_get_contents($url), true);
    var_dump($json);
URL返回很好地检索URL,但在var_dump中返回
NULL

我看到了很多答案和问题,但还没有找到答案。 要帮忙吗

读取Json->PHP中的数组转换->检索数组

谢谢,上面代码中的JSON字符串($JSON)是一个对象数组。也就是说,外部级别是一个数组文本,其元素是对象文本。默认情况下,json_解码的结果将是对象的数字索引数组

$json = '[{
"titulo": "DontAsk",
"pais": "Austria",
"country_iso": "AT",
"direccion": "Mag. Th. Langmann Gmbh Landstrasse 4",
"cp_ciudad": "A-2000 STOCKERAU",
"lat": "48.385583",
"long": "16.207823",
"telefono": "43-2266-72554-11",
"fax": "43-2266-72554-44",
"web": "www.aaa.com"
}, {
"titulo": "Other One",
"pais": "Czech Republic",
"country_iso": "CZ",
"direccion": "Pod Cihelnou 6",
"cp_ciudad": "664 161 00 PRAHA 6",
"lat": "50.092605",
"long": "14.312707",
"telefono": "420 233 313 578",
"fax": "420 233 313 582",
"web": "www.bbb.com"
}]';
$data = json_decode($json);
echo $data[1]->titulo; 

对于您的参考,请勾选此

如果您想要的是一个用于以后使用PHP的关联数组,而不是一个对象数组(默认情况下是
json\u decode
hands),则在函数的第二个参数上指定它,如下所示:

    [{
  "titulo": "DontAsk",
  "pais": "Austria",
  "country_iso": "AT",
  "direccion": "Mag. Th. Langmann Gmbh Landstrasse 4",
  "cp_ciudad": "A-2000 STOCKERAU",
  "lat": "48.385583",
  "long": "16.207823",
  "telefono": "43-2266-72554-11",
  "fax": "43-2266-72554-44",
  "web": "www.aaa.com"
}, {
  "titulo": "Other One",
  "pais": "Czech Republic",
  "country_iso": "CZ",
  "direccion": "Pod Cihelnou 6",
  "cp_ciudad": "664 161 00 PRAHA 6",
  "lat": "50.092605",
  "long": "14.312707",
  "telefono": "420 233 313 578",
  "fax": "420 233 313 582",
  "web": "www.bbb.com"
}]
$json = '[{
"titulo": "DontAsk",
"pais": "Austria",
"country_iso": "AT",
"direccion": "Mag. Th. Langmann Gmbh Landstrasse 4",
"cp_ciudad": "A-2000 STOCKERAU",
"lat": "48.385583",
"long": "16.207823",
"telefono": "43-2266-72554-11",
"fax": "43-2266-72554-44",
"web": "www.aaa.com"
}, {
"titulo": "Other One",
"pais": "Czech Republic",
"country_iso": "CZ",
"direccion": "Pod Cihelnou 6",
"cp_ciudad": "664 161 00 PRAHA 6",
"lat": "50.092605",
"long": "14.312707",
"telefono": "420 233 313 578",
"fax": "420 233 313 582",
"web": "www.bbb.com"
}]';

$data = json_decode($json, true);
var_dump($data['titulo']);

但是,如果问题是它返回的是NULL,请检查您的脚本是否得到了预期的输入(例如,您得到了一个可通过json\u decode解析的字符串)。

可能与您的问题重复?此json字符串已通过
json\u decode
正确解析。检查
file\u get\u contents($url)
是否给出了预期的结果。基本上,您有一个执行多个任务的一行程序,并假设不会出现任何问题。您需要进行错误检查。