PHP から Java (Android) に文字列を送信すると、奇妙な問題が発生します。
全体の話はかなり単純です。Java アプリケーションがキーワードを PHP スクリプトに送信します。PHP スクリプトはそれを DB で検索し、JSON でエンコードされた配列を (文字列として) Java アプリケーションに送り返します。
この文字列は Android の TextView フィールドで確認でき、次のようになります。[{"name":"Berlin"}]
しかし、Java はこれを有効な JSON 文字列として受け入れません (一部のオンライン JSON バリデーターとは異なります)。これは、「JSONArray テキストは文字 1 で '[' で開始する必要があります」という例外をスローし続けるためです。この文字列を、"equal()" を使用して Java でハードコーディングされた同一の文字列と比較すると、等しくないことがわかります。さらに厄介なことに、Java は JSON 文字列の長さを 19 ではなく 20 として返します。
これはなぜですか?ウムラウトのような珍しい文字はありません。20番目のキャラクターは何ですか?エンコーディングの問題が疑われますが、すべて (PHP ファイル、Java ファイル) が UTF-8 でエンコードされていることは確かです。
(誰かが尋ねる前に:コードを提供できますが、どの部分が関連するかわかりません。)