Fehlergrund:
Stücklistenkopfproblem. Die Serverseite ist PHP, und den zurückgegebenen Übertragungsdaten „{“ ist ein BOM-Header vorangestellt. Wenn Java den Header liest, liest es den Header direkt als Dateiinhalt, und dann tritt ein Fehler auf.
Was ist der Stücklistenkopf?
Der BOM-Header wird auch UTF-8-Signatur genannt. Tatsächlich hat der BOM von UTF-8 keine Auswirkung auf UFT-8. Es handelt sich um einen BOM, der zur Unterstützung von UTF-16 und UTF-8 hinzugefügt wurde. 32.
Die Bedeutung der BOM-Signatur besteht darin, dem Editor mitzuteilen, welche Codierung die aktuelle Datei verwendet. Obwohl die BOM nicht im Editor angezeigt wird, erzeugt sie eine Ausgabe, genau wie eine zusätzliche Leerzeile. Dabei handelt es sich um eine Zeichenfolge versteckter Zeichen, mit der Editoren wie Notepad erkennen können, ob die Datei in UTF-8 codiert ist.
Lösung:
Java, Android-Clients usw. können die Stückliste durch Code herausfiltern und dann analysieren.
/** * 去除bom报头 */ public static String formatString(String s) { if (s != null) { s = s.replaceAll("\ufeff", ""); } return s; }
Empfohlenes Tutorial: PHP-Video-Tutorial
Das obige ist der detaillierte Inhalt vonAndroid kann JSON-Daten von PHP nicht analysieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!