温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

java读取json数据发生中文乱码的解决方法

发布时间:2020-06-21 15:58:48 来源:亿速云 阅读:1204 作者:鸽子 栏目:编程语言

java读取json数据出现乱码的代码:

//从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读取json数据中文乱码解决的详细内容,更多请关注亿速云其它相关文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI