• 技术文章 >Java >Java基础

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

    尚2019-12-02 09:14:23原创2766

    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数据中文乱码解决的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:java 乱码
    上一篇:java常量池图文详解 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • Java内存模型图文详解• java函数——构造函数与成员函数的异同点• JavaScript如何实现动态轮播图效果?(代码示例)• javascript中判断数据类型的几种方式
    1/1

    PHP中文网