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数据中文乱码解决的详细内容。