47
45

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

PHPにおけるJSONエンコード整形

Last updated at Posted at 2018-01-30

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": "東京都新宿区"
// }

いい感じ。構造がわかりやすくなった。
他にもオプションはたくさんある。

開発時だけ出力を読みやすく整形するのが便利だと思います:thumbsup_tone1:

47
45
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
47
45

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?