サーバーにHTTPGETを送信するphpクライアントを実装しようとしています。サーバーは、戻り情報とともにJSONオブジェクトを送り返します。phpスクリプトがJSONを受け取ったら、JSONをデコードする方法を知っていますが、実際に取得するにはどうすればよいですか?
編集:注-サーバーにHTTP GETを送信すると、JSONファイルが生成されて返送されます。サーバー上にあるファイルではありません。
file_get_contentsを確認してください
$json = file_get_contents('http://somesite.com/getjson.php');
ブラウザーは、サーバーの応答に基づいて異なる動作をします。サーバーに対して行うリクエストのタイプ (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() は、関係なく応答を解析できます。