2016-11-24 2 views
1

Я пытаюсь сделать простой JSON API для веб-сайта, подобный следующему:PHP - Создание простой JSON API с форматированием

https://api.coinmarketcap.com/v1/ticker/bitcoin

Мой текущий код:

<?php 

// Creating the data array 
$data = array(
    'id' => '1', 
    'url' => 'http://twitter.com', 
    'text' => 'test 001', 
); 

// Formats output in nice JSON for you 
function return_json($array, $name = 'data') { 
    $new_array = array($name => $array); 
    $return = json_encode($new_array, JSON_PRETTY_PRINT); 
    return $return; 
} 

echo return_json($data); 

?> 

Проблема заключается в том, что текущий вывод ничем не отличается от API-интерфейсов веб-сайтов, где он хорошо отформатирован, и это одна строка, например:

{ "data": { "id": "1", "url": "http:\/\/twitter.com", "text": "test 001" } } 

Как я могу генерировать и выводить JSON красиво отформатированный и читаемый, когда кто-то посещает страницу?

+0

Взгляните на: http://stackoverflow.com/questions/ 6054033/pretty-printing-json-with-php – deChristo

ответ

1

Сначала установите заголовок для ответа:

header('Content-Type: application/json'); 

И добавить параметр JSON_PRETTY_PRINT в json_encode() так:

echo json_encode($results, JSON_PRETTY_PRINT); 
+1

Спасибо, что сделал трюк, также знаете ли вы, есть ли способ сохранить обычный URL, а не экранированный? – zeddex

+0

Просто не беспокойтесь, если кому-то еще это нужно: echo json_encode ($ data, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES); – zeddex

+0

Взгляните на: http://stackoverflow.com/questions/3723243/why-does-json-encoder-adds-escaping-character-when-encoding-urls – deChristo