我需要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
并将它们设置为数组。
答案 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']);
我认为这样可行。