1. 程式人生 > >JSON字串Gson,JSONObject解析中文亂碼,介面

JSON字串Gson,JSONObject解析中文亂碼,介面

mysql資料庫中有一個欄位型別為json,而且其中存在key=中文,而不是key=“中文”,這種資料在對外提供介面資料的時候,發現頁面返回的資料是亂碼!!!!我勒個去!

Debug時發現,無論使用JSONObject還是Gson去解析從mysql中查詢出來的字串得到的結果都是亂碼!

後來發現了下面這篇部落格的內容後嘗試後成功了!

1.比如介面傳引數為中文會亂碼

介面中傳過來key=中文;;;;而不是這種型別的“中文”,會亂碼報錯什麼的,解決方法

byte[] temp=key.getBytes("iso8859-1");
key = new String(temp);

以下是我的處理方式,成功解析!

JSONArray json1= JSONObject.parseArray(new String(result.getList().getBytes("iso8859-1"), "UTF-8"));
List json2 = gson.fromJson(new String(result.getList().getBytes("iso8859-1"), "UTF-8"), List.class);
System.out.println("json1="+ json1);
System.out.println("json2="+ json2);