Как передать json-данные в html с php?
$url="http://api.nytimes.com/svc/search/v1/article?format=json&query=usa&rank=newest&api-key=mykey"
когда я набираю url в браузере, он возвращает {"offset" : "0" , "results" : [{"body" : "A guide to cultural and recreational goings-on in and around the Hudson Valley. ...}]}
как поместить данные body
json в html? Я имею в виду как это echo '<div class="body"></div>';
Сначала вам нужно получить файл. Вы должны использовать завиток для этого. В приведенном ниже примере я использовал функцию file_get_contents()
возможно, вы захотите ее заменить. Используйте json_decode()
для анализа JSON для вас.
$json = file_get_contents($url); $data = json_decode($json); echo $data->results[0]->body;
Это будет отражать A guide to cultural...
Используйте json_decode()
в содержимом файла, который вы можете получить с помощью file_get_contents($url)
, тогда у вас есть массив, который вы можете использовать для сборки HTML.
$url="http://api.nytimes.com/svc/search/v1/article?format=json&query=usa&rank=newest&api-key=mykey"; $dataRaw = file_get_contents($url); if ($dataRaw) { $data = json_decode($dataRaw, true); foreach ($data['results'] as $cEntry) { ?> <div class="body"> <?php echo $cEntry['body']; ?> </div> <?php } }
Я не уверен, почему вы это сделаете, но при условии, что открытие fopen()
включено, вы можете сделать …
echo file_get_contents($url);
как это ?
<?php $url="http://api.nytimes.com/svc/search/v1/article?format=json&query=usa&rank=newest&api-key=mykey"; $json = file_get_contents($url); echo $json;
После того, как вы загрузили строку JSON в PHP, вы можете преобразовать ее в массив PHP с помощью функции json_decode()
. Затем вы можете напечатать соответствующий элемент массива в своем HTML-выходе, как и с любой другой переменной PHP.
Попробуй это:
$jsonDecoded = json_decode($yourJsonEncodedData); echo $jsonDecoded->results->body;