【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形式のファイルを扱う/