エラーの理由:
BOM ヘッダーの問題。サーバー側はPHPで、返される転送データ「{」の前にBOMヘッダーが付いているのですが、Javaがヘッダーを読み込む際にそのままファイルの内容として読み込んでしまいエラーとなります。
BOM ヘッダーとは何ですか?
BOM ヘッダーは UTF-8 署名とも呼ばれます。実際、UTF-8 BOM は UFT-8 には影響しません。これは、UTF-16 および UTF-32 をサポートするために追加された BOM です。 。
BOM 署名の意味は、現在のファイルが使用しているエンコーディングをエディターに伝えることです。ただし、BOM はエディターには表示されませんが、追加の空白行と同様に出力が生成されます。これは、メモ帳などの編集者がファイルが UTF-8 でエンコードされているかどうかを識別できるようにするために使用される隠し文字の文字列です。
解決策:
java、Android クライアントなどは、コードを通じて BOM をフィルタリングして解析できます。
/** * 去除bom报头 */ public static String formatString(String s) { if (s != null) { s = s.replaceAll("\ufeff", ""); } return s; }
推奨チュートリアル: PHP ビデオ チュートリアル
以上がAndroidはPHPのJSONデータを解析できませんの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。