PHP 回傳 JSON 很方便, 只要將資料經過 json_encode() 就解決了.
不過因為 PHP 自動轉換型別, 造成很多資料都習慣存成字串, 希望在輸出 JSON 的時候, 數字部份可以輸出成數字, 該怎麼做呢?
另一個問題, PHP 轉換成 JSON, 部份陣列會被轉成对象(因為 JavaScript 陣列的 Key 必須是數字, 所以會轉成对象), 要全部強制轉成对象, 該怎麼做呢?
PHP 讓 json_encode() 指定回傳格式
上述的問題, json_encode() 的參數都可以解決.
json_encode() 有這些參數可以用:
JSON_HEX_QUOT
JSON_HEX_TAG
JSON_HEX_AMP
JSON_HEX_APOS
JSON_NUMERIC_CHECK
JSON_PRETTY_PRINT
JSON_UNESCAPED_SLASHES
JSON_FORCE_OBJECT
PHP 判斷型別輸出 JSON 數字型態
主要靠 json_encode 的 JSON_NUMERIC_CHECK 參數, ex:
1 |
|
輸出結果
1 | {"id":123,"data":"abc"} |
PHP 強迫輸出 JSON 物件(对象)格式
主要靠 json_encode 的 JSON_FORCE_OBJECT 參數, ex:
1 |
|
輸出結果
1 | [1,2,3] |