如何让PHP读取JSON?

时间:2014-01-23 21:59:39

标签: php json

我需要PHP从服务器端读取JSON,而不需要任何客户端,如Javascript或Jquery。换句话说,我希望我的脚本能够将它所读取的内容作为HTML文本返回,就像它可以对任何其他数据源(如数据库或文本文件)所做的那样。

假设我在http://example.com/sources/output.php有一个PHP文件,它以JSON格式输出文本,如下所示:

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

然后我在http://example.com/readData.php有另一个PHP文件。我知道使用服务器端PHP的任何方式使readData.php能够读取employees并将它们设置为数组。

3 个答案:

答案 0 :(得分:3)

你走了:

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

$employees = $parsedJson->employees;

答案 1 :(得分:2)

使用json_decode($data, true)。这会将您的JSON解码为关联数组。如果未设置第二个参数(默认情况下为false),您将获得一个对象而不是一个数组。

答案 2 :(得分:1)

PHP将本地解码和编码JSON(自第5版以来)

http://us1.php.net/json_encode

http://us1.php.net/json_decode

我将您的JSON输出为字符串json_encode($object);,然后让您的其他脚本像这样读取json_decode($_REQUEST['json']);

我认为这样可行。