【PHP】Json形式のファイルを扱う
目次
値をJson形式にエンコードする
json_encode関数を使用する
1 | |
オプション
json_encode(obj,オプション)のオプション部分に設定できる- 複数設定したい場合は、
|で区切る
| オプション | 効果 | |
|---|---|---|
| JSON_HEX_TAG | 「>」「<」記号をエスケープする | |
| JSON_HEX_AMP | 「$」記号をエスケープする | |
| JSON_HEX_APOS | 「’」記号をエスケープする | |
| JSON_HEX_QUOT | 「”」記号をエスケープする | |
| JSON_FORCE_OBLECT | 連想配列ではない値を強制的にオブジェクト型で出力する | |
| JSON_NUMERIC_CHECK | 数値が文字列型で表されていた場合、数値として出力する | |
| JSON_BIGINT_AS_STRING | 大きな整数値を文字列型として出力する | |
| JSON_PRETTY_PRINT | 改行とインデントを使って出力結果を見やすくする | |
| JSON_UNESCAPED_SLASHES | 「¥」記号をエスケープしない | |
| JSON_UNESCAPED_UNICODE | Unicode文字列を16進数にエスケープしない | |
| JSON_PARTIAL_OUTPUT_ON_ERROR | エンコードできない値を代替値に置き換える | |
| JSON_PRESERVE_ZERO_FRACTION | float型の値を常にfloat値としてエンコードする |
Json形式の値をデコードする
json_decode関数を使用する
json_encode関数の2つの目の引数のtrueは、オブジェクト型をi連想配列型に変換する- 何も指定しない場合、
falseになり、出力される型はstdClassになる
- 何も指定しない場合、
1 | |
デコード,エンコードのエラーを検知する
json_last_error関数を使用する
返される定数値一覧
| 定数 | 意味 |
|---|---|
| JSON_ERROR_NONE | 処理成功 |
| JSON_ERROR_DEPTH | $depthの指定階層より深い階層だった |
| JSON_ERROR_STATE_MISMATCH | JSON形式が無効 |
| JSON_ERROR_CTRL_CHAR | 制御文字エラー |
| JSON_ERROR_SYNTAX | 構文エラー |
| JSON_ERROR_UTF8 | UTF-8文字の形式が不正 |
| JSON_ERROR_UTF16 | UTF-16文字の形式が不正 |
| JSON_ERROR_RECURSION | エンコード対象の値が再起参照を含んでいる |
| JSON_ERROR_INF_OR_NAN | エンコード対象の数値が「NaN」または「Inf」を含んでいる |
| JSON_ERROR_UNSUPPORTED_TYPE | エンコードできない方を含んでいる |
| JSON_ERROR_INVALID_PROPERTY_NAME | エンコードできないプロパティ名を含んでいる |
使用例
1 | |
【PHP】Json形式のファイルを扱う
https://daiki-iijima.github.io/2021/06/07/【PHP】Json形式のファイルを扱う/




