我正在尝试实现一个php客户端,它将HTTP GET发送到服务器,该服务器返回带有返回信息的JSON对象。我知道如果我的PHP脚本收到它后如何解码JSON,但我怎么去实际获得它?
编辑:注意 - 我向服务器发送HTTP GET,它生成并发回一个JSON文件。它不是服务器上的文件。
答案 0 :(得分:6)
$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()都可以解析响应。