Java-Code, der JSON-Daten mit verstümmelten Zeichen liest: (Empfohlen: Java-Video-Tutorial)
//从json文件中读取数据 StringBuffer stringBuffer = new StringBuffer(); try { BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(new FileInputStream(file))); String line; while((line=bufferedReader.readLine()) != null) { stringBuffer.append(line); } } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } //开始解析 JSONObject jsonObject = new JSONObject(stringBuffer.toString());
Lösung
gemäß Laut Online-Beschreibung ist die Datei auf UTF-8-Kodierung eingestellt, aber wenn sie als UTF-8-kodierte Datei gespeichert wird, gibt es 3 weitere Bytes an Daten, die den Kodierungstyp im Dateiheader identifizieren, was zum JSONObject führt Der Grund dafür ist, dass das Objekt nicht analysiert werden kann.
Idee: Wir öffnen es durch Bearbeiten und das UTF-8-Kodierungsformat wird normal angezeigt. Anschließend löschen wir mit dem binären Bearbeitungstool die UTF-8-Kennung EF BB BF im Dateikopf und dann in Verwenden Sie im Code den InputStreamReader, um den Datenfluss von der UTF-8-Codierung zu ermöglichen, die bei der Konvertierung des Byte-Streams in den Zeichen-Stream verwendet wird
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(new FileInputStream(file), "UTF-8"));
Für weitere Java-Kenntnisse lesen Sie bitte das Java-Grundlagen-Tutorial Spalte.
Das obige ist der detaillierte Inhalt vonJava liest JSON-Daten und löst verstümmelte chinesische Zeichen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!