PHPの連想配列をjsonに変換する方法
2022.03.22
PHPの連想配列をjsonに変換する方法です。
バックエンドのPHPからjsonを生成してフロントエンドjavascriptに返す時などに使えます。
PHP例
//jsonのもととなる連想配列を作成
$data = array();
$data['hoge1'] = 'data1';
$data['hoge2'] = array(
'hoge2_1' => 'data2_1',
'hoge2_2' => 'data2_2',
);
$data['hoge3'] = 'data3';
// 連想配列をjsonに変換
$php_json = json_encode( $data );
// php_jsonを出力。なんらかの方法でjavascriptへ
echo $php_json;
PHPの出力結果
{"hoge1":"data1","hoge2":{"hoge2_1":"data2_1","hoge2_2":"data2_2"},"hoge3":"data3"}
phpから生成されたjsonをなんらかの方法でjavascriptで受け取った場合、そのjsonデータをJSON.parse()でパースしないと、javascript側でjsonとして認識しないので注意。
javascript例
// php_jsonにphpから生成されたjsonを受け取った場合
let js_json = JSON.parse( php_json );
console.log( js_json.hoge1 );
console.log( js_json.hoge2.hoge2_1 );