java读取json数据中文乱码解决

爱蒂网

java读取json数据中文乱码解决

2020-04-08 18:30:45 分类 / 网络编程 来源 / 互联网

java读取json数据中文乱码解决方法:在java读取json数据时使用InputStreamReader让数据从字节流到字符流的过程中使用UTF-8编码即可解决乱码问题。

java读取json数据出现乱码的代码:(推荐: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());

解决

根据网上描述,将文件设置为UTF-8编码,但是如果保存为UTF-8编码文件,会在文件头中多上3字节标识编码类型的数据,而导致JSONObject对象解析失败,原因:不是以{开头。

思路:我们用编辑其打开,UTF-8编码格式正常显示,然后使用二进制编辑工具,删除文件头的UTF-8标识EF BB BF,然后在代码中,使用InputStreamReader让数据从字节流到字符流的过程中使用UTF-8编码

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

更多java知识请关注java基础教程栏目。

以上就是java读取json数据中文乱码解决的详细内容,更多请关注爱蒂网其它相关文章!

猜你喜欢