Как перенести данные JSON в HTML с PHP? - PullRequest
3 голосов
/ 08 января 2011

Как перенести данные 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. ...}]} Как поместить данные JSON body в HTML? Я имею в виду, как это echo '<div class="body"></div>';

Ответы [ 6 ]

3 голосов
/ 08 января 2011

Сначала нужно получить файл.Вы должны использовать curl для этого.В приведенном ниже примере я использовал функцию file_get_contents(), вы можете заменить ее.Используйте json_decode(), чтобы проанализировать JSON для вас.

$json = file_get_contents($url);
$data = json_decode($json);
echo $data->results[0]->body;

Это будет эхом A guide to cultural....

2 голосов
/ 08 января 2011

Используйте 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
  }
}
0 голосов
/ 08 января 2011

Попробуйте это:

$jsonDecoded = json_decode($yourJsonEncodedData);
echo $jsonDecoded->results->body;
0 голосов
/ 08 января 2011

После загрузки строки JSON в PHP вы можете преобразовать ее в массив PHP с помощью функции json_decode(). Затем вы можете распечатать соответствующий элемент массива в выводе HTML, как с любой другой переменной PHP.

0 голосов
/ 08 января 2011

как это?

<?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;
0 голосов
/ 08 января 2011

Я не уверен, почему вы это сделаете, но при условии, что fopen() открытие URL включено, вы можете сделать ...

echo file_get_contents($url);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...