在PHP中读取外部JSON
我试图从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
[{
"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)
是否给出了预期的结果。基本上,您有一个执行多个任务的一行程序,并假设不会出现任何问题。您需要进行错误检查。