java讀取json數(shù)據(jù)發(fā)生中文亂碼的解決方法

java讀取json數(shù)據(jù)出現(xiàn)亂碼的代碼:

我們提供的服務(wù)有:成都網(wǎng)站設(shè)計、成都網(wǎng)站制作、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認證、阿瓦提ssl等。為上1000+企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的阿瓦提網(wǎng)站制作公司

//從json文件中讀取數(shù)據(jù)
		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());

解決

根據(jù)網(wǎng)上描述,將文件設(shè)置為UTF-8編碼,但是如果保存為UTF-8編碼文件,會在文件頭中多上3字節(jié)標識編碼類型的數(shù)據(jù),而導(dǎo)致JSONObject對象解析失敗,原因:不是以{開頭。

思路:我們用編輯其打開,UTF-8編碼格式正常顯示,然后使用二進制編輯工具,刪除文件頭的UTF-8標識EF BB BF,然后在代碼中,使用InputStreamReader讓數(shù)據(jù)從字節(jié)流到字符流的過程中使用UTF-8編碼

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

以上就是java讀取json數(shù)據(jù)中文亂碼解決的詳細內(nèi)容,更多請關(guān)注創(chuàng)新互聯(lián)其它相關(guān)文章!

當(dāng)前文章:java讀取json數(shù)據(jù)發(fā)生中文亂碼的解決方法
標題路徑:http://muchs.cn/article24/ihihje.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名自適應(yīng)網(wǎng)站、搜索引擎優(yōu)化網(wǎng)站設(shè)計、關(guān)鍵詞優(yōu)化、小程序開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化