Maison  >  Article  >  Java  >  Java lit les données JSON et résout les caractères chinois tronqués

Java lit les données JSON et résout les caractères chinois tronqués

尚
original
2019-12-02 09:14:234535parcourir

Java lit les données JSON et résout les caractères chinois tronqués

Code Java qui lit les données json avec des caractères tronqués : (Recommandé : tutoriel vidéo Java)

//从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());

Solution

selon Selon la description en ligne, le fichier est défini sur le codage UTF-8, mais s'il est enregistré en tant que fichier codé UTF-8, il y aura 3 octets supplémentaires de données identifiant le type de codage dans l'en-tête du fichier, provoquant le JSONObject l'objet ne peut pas être analysé. La raison : ce n'est pas le début.

Idée : On l'ouvre en éditant, et le format d'encodage UTF-8 s'affiche normalement. Ensuite on utilise l'outil d'édition binaire pour supprimer l'identifiant UTF-8 EF BB BF dans l'en-tête du fichier, puis dans. le code, utilisez InputStreamReader pour laisser le flux de données de l'encodage UTF-8 être utilisé dans le processus de conversion du flux d'octets en flux de caractères

BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(new FileInputStream(file), "UTF-8"));

Pour plus de connaissances sur Java, veuillez prêter attention au tutoriel de base Java colonne.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn