JSON串int自動添加“”變成字符串

//JSON_UNESCAPED_UNICODE:顯示中文 ? -> ? 可以作為第一個例子


本地環境Mac,MAMP PRO 4.2,訪問api

http://localhost:8888/api/heroes/1 ? ? 得到正確的 11?

{"id":1,"name":"mike","age":11,"comment":""}

遠程godaddy,訪問api

http://www.empirecclt.com.au/public/api/heroes/1 ? ?得到錯誤的“11”

{"id":1,"name":"mike","age":"11","comment":""}


答案:在lavarel的api接口找到返回json串的地方,改成如下:

return json_encode($hero,JSON_NUMERIC_CHECK|JSON_UNESCAPED_UNICODE);?

//JSON_UNESCAPED_UNICODE:顯示中文

//JSON_NUMERIC_CHECK:不加它,服務器返回都是字符串,int是字符串(但是本地執行時返回int),null是空串

或者

return response()->json($heroes,200,[],JSON_PRETTY_PRINT|JSON_NUMERIC_CHECK|JSON_UNESCAPED_UNICODE);

//JSON_PRETTY_PRINT:格式化輸出,去掉自動添加的'\'

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容