2014-01-23 2 views
-3

Мне нужен PHP для чтения JSON с серверной стороны, без необходимости на стороне клиента, такой как Javascript или JQuery. Другими словами, я хочу, чтобы мой скрипт возвращал то, что он прочитал как текст HTML, что-то вроде того, что он мог бы сделать с любым другим источником данных, таким как база данных или текстовый файл.Как заставить PHP читать JSON?

Предположим, что у меня есть PHP-файл в http://example.com/sources/output.php который вывода текста в формате JSON, как следующее:

{ 
"employees": [ 
    { "firstName":"John" , "lastName":"Doe" }, 
    { "firstName":"Anna" , "lastName":"Smith" }, 
    { "firstName":"Peter" , "lastName":"Jones" } 
] 
} 

Тогда у меня есть еще один PHP файл на http://example.com/readData.php. Я знаю любой способ, используя только серверный PHP, чтобы readData.php мог читать employees и устанавливать их в массив.

+4

'json_decode'? –

+1

Если вы Googled «php json», вы бы нашли свой ответ быстрее, чем потребовалось, чтобы написать свой вопрос. –

ответ

3

Здесь вы идете:

$json = file_get_contents('http://example.com/sources/output.php'); 
$parsedJson = json_decode($json); 

$employees = $parsedJson->employees; 
1

PHP будет изначально кодировать и декодировать JSON (начиная с версии 5)

http://us1.php.net/json_encode

http://us1.php.net/json_decode

Я бы вывод вашего JSON в виде строки json_encode($object);, а затем ваш другой скрипт прочитал это так: json_decode($_REQUEST['json']);

Я думаю, что сработает.

2

Использование json_decode($data, true). Это расшифрует ваш JSON в ассоциативный массив. Если второй параметр не задан (по умолчанию он равен false), вы получите объект вместо массива.

Смежные вопросы