Я хочу отобразить данные в формате JSON. Я конвертировал из JSON в PHP массив с помощью json_decode (), но он не получил отклика. Удар это мой код:
<?php
$url = "http://en.wikipedia.org/w/api.php?action=query&prop=extracts|info&exintro&format=json&explaintext&titles=google";
//retriving JSON data using get_file_contents
$json = file_get_contents($url);
$data = json_decode($json);
$pageid = $data->query->pageids[0];
echo $data->query->pages->$pageid->extract;
?>
Мне нужно было только извлечь данные, которые содержат информацию для этого заголовка.
Если вы запустите запрос в браузере, вы увидите, что возвращенный JSON не содержит свойство pageids, но имеет форму
{
"batchcomplete": "",
"query": {
"normalized": [
...
],
"pages": {
...
}
}
}
Если все, что вам нужно, это извлечь экстракт из первого элемента, вы можете сделать:
<?php
$url = "http://en.wikipedia.org/w/api.php?action=query&prop=extracts|info&exintro&format=json&explaintext&titles=google";
//retriving JSON data using get_file_contents
$json = file_get_contents($url);
$data = json_decode($json);
$page = reset($data->query->pages);
$extract = $page ? $page->extract : null;
Других решений пока нет …