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

b8fa0559d30db27bc8ec761be8ea3aab.png

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基础教程栏目。

参与评论 您还未登录,请先 登录 后发表或查看评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:深蓝海洋 设计师:CSDN官方博客 返回首页

打赏作者

李如一

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值