получить данные JSON из URL

Я пытаюсь загрузить данные JSON с этого URL =
http://api.opencagedata.com/geocode/v1/json?query=48.84737%2C2.28605&довольно = 1&no_annotations = 1&no_dedupe = 1&ключ = b61388b5a248b7cfcaa9579ed290485b

Использование file_get_contents работает с другими URL-адресами json, но это странно. Возвращает только «{» первую строку. Стрлен дает 1480, что правильно. Субстр (2,18) дает «документацию», которая тоже права. Но все же я не могу повторить весь текст. Может быть, есть какой-нибудь способ прочитать текст построчно и сохранить его в другой строке? Весь текст все еще полностью загружен в текстовый файл
Вот код php, который я пробовал

<?php
$url = file_get_contents("http://api.opencagedata.com/geocode/v1/json?query=48.84737%2C2.28605&pretty=1&no_annotations=1&no_dedupe=1&key=b61388b5a248b7cfcaa9579ed290485b");
$save = file_put_contents("filename.txt", $url);
echo $url;
?>

Также пробовал эту функцию, но все же.

function get_data($url) {
$ch = curl_init();
$timeout = 5;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}

0

Решение

Вы можете получить возвращаемое значение с помощью json_decode.

function get_data($url) {
$ch = curl_init();
$timeout = 5;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$data = curl_exec($ch);
curl_close($ch);
return json_decode($data,true);
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]