PHP ネイティブのPHPでjsonを取得する処理
ネイティブのPHPでjsonを取得する処理
おはようございます。
ネイティブのPHPでPOSTされたjsonを取得する方法について備忘録です。
ネイティブのPHPって表現の仕方があっているかわかりませんが、普段フレームワークを用いてAPI実装をすることが多いので、フレームワークを用いずに、どのように取得するかを調べました。
書き方
// JSON取得 $json = file_get_contents('php://input'); $data = json_decode($json, true)
解説
php://input
はリクエストされたbodyの生のデータを取得することができます。file_get_contents()
は指定したファイル、URLの内容をすべて文字列で読み込む関数です。- 上記の二つを組み合わせることで、リクエストされたbodyの生データを文字列にして取得できます。
- そして
json_decode()
でjsonをデコードして連想配列にします。
参考にさせていただいたサイト
- file_get_contents - php.net
- php:// - php.net
- php://input’とは?? - hacknote
- 生PHPで application/jsonで送られたデータを取得したい - かもめも
- Content-Type: application/jsonでPOSTする - Qiita
あとがき
普段フレームワークでよしなにやってくれるので、いざネイティブで書き始めると、戸惑う事ばかりです。基礎は大事ですね。。
読んでいただきありがとうございました。 よろしくお願いいたします。