PHPでJSON形式にエンコードするには、
json_encode()
http://php.net/manual/ja/function.json-encode.php
が用いられる。
引数に指定した値をJSON形式の文字列として返す関数だ。
以下のように使うのだが、
$a = [
'name' => '山田太郎',
'age' => 20,
'address' => '東京都新宿区'
];
echo json_encode($a);
// {"name":"\u5c71\u7530\u592a\u90ce","age":20,"address":"\u6771\u4eac\u90fd\u65b0\u5bbf\u533a"}
文字列がUnicodeエスケープシーケンスに変換されてしまう。
これでも実際問題ないのでいいのだが、いかんせん普通の人間は読めない。
そこでオプション追加。
echo json_encode($a, JSON_UNESCAPED_UNICODE);
// {“name":"山田太郎","age":20,"address":"東京都新宿区"}
これなら読める。
しかしデータが大きくなってくると1行JSONは読みづらい。
なので、さらにオプション追加。
echo json_encode($a, JSON_UNESCAPED_UNICODE|JSON_PRETTY_PRINT);
// {
// "name": "山田太郎",
// "age": 20,
// "address": "東京都新宿区"
// }
いい感じ。構造がわかりやすくなった。
他にもオプションはたくさんある。
開発時だけ出力を読みやすく整形するのが便利だと思います