PHP後端很難返回規範的JSON資料嗎?

PHP後端很難返回規範的JSON資料嗎?scumyang2018-01-01 14:38:11

false

PHP後端很難返回規範的JSON資料嗎?網路圈2019-09-20 13:00:51

PHP作為當下主流的指令碼語言,因其簡單高效的特點備受關注,基於PHP開發的專案也是很多的,可以說PHP是作為Web開發的首選開發語言。但是PHP本身是弱型別語言,所以在某些地方的支援度上也是存在一些問題的,比如對於JSON的處理就存在一定的差異化。

PHP弱型別可能會導致JSON返回時不夠標準

PHP它是弱型別的指令碼語言,所以在輸出方面所有型別預設會被當成String輸出。

可能有PHP開發者不太理解這句話,舉例來說:如果透過PHP從資料庫中查詢資料,那返回的資料其實都被當成了String型別,即使欄位型別是int、double這類的也會被當成String處理。

在這種情況下,不同的開發者寫出來的JSON可能就存在差異,比如:

{“name”:“張三”,“age”:22}

{“name”:“張三”,“age”:“22”}

另外在PHP環境下輸出物件型別的欄位時,也會出現問題,有些時候下會將{}返回成[],比如:

{“name”:“張三”,“info”:{}}

{“name”:“張三”,“info”:[]}

上面例舉的這2個例子危害性很大,特別是作為API輸出時會讓呼叫方崩潰。

PHP後端如何規範返回JSON?

弱型別語言看似方便容錯性高,其實更容易出現Bug,這也是一些安全係數要求高的專案並不會採用PHP這類弱型別語言去開發的原因。

那PHP在對JSON處理這塊應該怎麼做呢?我的建議就是定義好資料返回模板,然後進行資料填充生成JSON字串再返回。

以上就是我的觀點,對於這個問題大家是怎麼看待的呢?歡迎在下方評論區交流 ~ 我是科技領域創作者,十年網際網路從業經驗,歡迎關注我瞭解更多科技知識!

PHP後端很難返回規範的JSON資料嗎?冰雪緣2018-01-01 16:50:22

json資料怎麼樣才算規範?

$array=array();

print_r(json_encode($array));

真是怪了,你是看json來開發的,還是看文件開發的?