關於json_encode轉數組為json對象時里有數組格式數據的問題


前言:這次是給一款小程序提供接口時發現的

別的不多說,下面直接看出現問題的json數據

可以看到,這是一個大的json對象,是由多維數組組成,一般api接口提供的也是這種格式。

但是仔細看紅框中的內容,它居然是個數組格式的,而跟它同級的是對象格式的,並且只有這一個。

這就奇怪了,明明都是統一處理的,為何就這一條是數據呢?而因為這一條是數組格式,導致前端那邊解析失敗。

當時花了2分鍾思考,無果!

接着上百度大法,找到了點蛛絲馬跡

如果返回json格式的數據,當返回數據的為數組,且key為字符串時,json化后將返回jsonObject,但是如果是空數組,有可能返回的就是jsonArray,數據結構不一致導致端解析json失敗。

看到這里,我瞬間明白了,應該是我的數組中這條中可能存在空的數據,導致這條是數組格式。

下面就好辦了,進PHP官網查看json_encode參數,發現如下

解決方式如下

json_encode($arr, JSON_FORCE_OBJECT);

最后附上效果圖

雖然這個問題解決花費的時間不長,但是容易疏忽啊,時間一久再碰到估計又是懵逼狀態了,特此記錄  以供自己  溫故而知新

 

參考鏈接
    https://blog.csdn.net/qq_21119513/article/details/80577436

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM