从PHP Get中接收JSON对象

时间:2012-04-18 20:00:42

标签: php json http

我正在尝试实现一个php客户端,它将HTTP GET发送到服务器,该服务器返回带有返回信息的JSON对象。我知道如果我的PHP脚本收到它后如何解码JSON,但我怎么去实际获得它?


编辑:注意 - 我向服务器发送HTTP GET,它生成并发回一个JSON文件。它不是服务器上的文件。

2 个答案:

答案 0 :(得分:6)

查看file_get_contents

$json = file_get_contents('http://somesite.com/getjson.php');

答案 1 :(得分:1)

浏览器根据服务器的响应采取不同的行为。无论您对服务器发出什么类型的请求(无论是GET,POST等)都无关紧要,但要将JSON作为响应返回,您必须在请求的脚本中设置标题:

header('Content-Type: application/json;charset=utf-8;');

然后回显JSON字符串,例如:

//...populating your result data array here...//
// Print out the JSON formatted data
echo json_encode($myData);

然后,用户代理将获取JSON字符串。如果AJAX发出了请求,那么您只需将结果解析为可以处理的JavaScript对象,如下所示:

//...AJAX request here...//
// Parse result to JavaScript object
var myData=JSON.parse(XMLHttp.responseText);

标题本身并非真正必要,但却是一种很好的做法。无论如何,JSON.parse()都可以解析响应。