開發(fā)中發(fā)現(xiàn), 服務器偶爾會發(fā)送錯誤格式 json 給 Android 客戶端, 導致 Android 客戶端 json解析失敗, 應用異常.
并非服務器有意坑客戶端, 而是客戶端請求服務器數(shù)據(jù)時, 除了得到正確 json 數(shù)據(jù)外, 數(shù)據(jù)可能還夾雜其它數(shù)據(jù).
例如:
thinkPHP 開啟 'SHOW_PAGE_TRACE '=> true
時, 正確的 json 后面會夾雜HTML代碼,
解決辦法:
1. 將 'SHOW_PAGE_TRACE ' =>false
, 設(shè)置為false. 不過不太實際, 因為服務器可能會出現(xiàn)問題, 這時候需要開啟調(diào)試模式
2. 客戶端判斷 json 解析失敗, 使用 try catch 判斷json格式
(1) 客戶端判斷json格式
(2) 客戶端通過volley 的 post 方法將數(shù)據(jù)提交到服務器
(3) 服務器通過 I() 方法獲取客戶端提交的信息, 這里的 I() 方法是thinkPHP中的一個方法, 是獲取所有提交信息的方法, 無論客戶端通過任何方式提交, 都會獲取其鍵值對
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對武林網(wǎng)之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接
新聞熱點
疑難解答
圖片精選