安卓下不解析json
起因:微信小程序調試的時候在蘋果的手機上沒事,但是到了安卓的手機上就會出現問題。
原因:android 下調用request 的時候,自動加上了 bom頭,去掉就好了。
解決:如下代碼為PHP方式去除當前目錄及子目錄所有文件BOM信息的代碼,新建文件,將其放倒根目錄下,然後瀏覽器訪問即可。
<?phpif (isset($_GET[dir])) { //設置文件目錄 $basedir = $_GET[dir];} else { $basedir = .;}$auto = 1;checkdir($basedir);function checkdir($basedir){ if ($dh = opendir($basedir)) { while (($file = readdir($dh)) !== false) { if ($file != . && $file != ..) { if (!is_dir($basedir . "/" . $file)) { echo "filename: $basedir/$file " . checkBOM("$basedir/$file") . " <br>"; } else { $dirname = $basedir . "/" . $file; checkdir($dirname); } } } closedir($dh); }}function checkBOM($filename){ global $auto; $contents = file_get_contents($filename); $charset[1] = substr($contents, 0, 1); $charset[2] = substr($contents, 1, 1); $charset[3] = substr($contents, 2, 1); if (ord($charset[1]) == 239 && ord($charset[2]) == 187 && ord($charset[3]) == 191) { if ($auto == 1) { $rest = substr($contents, 3); rewrite($filename, $rest); return ("<font color="red">BOM found, automatically removed.</font>"); } else { return ("<font color="red">BOM found.</font>"); } } else return ("BOM Not Found.");}function rewrite($filename, $data){ $filenum = fopen($filename, "w"); flock($filenum, LOCK_EX); fwrite($filenum, $data); fclose($filenum);}?>
推薦閱讀:
※[譯]GraphQL:你需要知道的一切
※Mapbox 現向所有新註冊用戶開放免費API!
※淺談API網關如何承載API經濟生態鏈
※API Method Recommendation from Feature Requests
TAG:API |