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