色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

java 接收json中文亂碼

劉姿婷2年前9瀏覽0評論

在Java中,處理JSON數據通常是必須的。然而,很多時候我們可能會遇到亂碼問題。這篇文章將介紹如何接收JSON中文時避免亂碼。

// 假設從API中獲取到的JSON數據為:
String jsonString = "{\"name\": \"張三\", \"age\": 20}";
// 建立一個解析JSON的對象
JSONObject jsonObject = new JSONObject(jsonString);
// 獲取名字
String name = jsonObject.getString("name");
// 獲取年齡
int age = jsonObject.getInt("age");

然而,上述代碼在接收到含有中文的JSON數據時,可能會遇到亂碼問題。這是因為JSON中的中文數據使用的是UTF-8編碼,而Java則默認使用的是ISO-8859-1編碼。因此,我們需要對傳入的JSON數據進行編碼轉換。

// 假設從API中獲取到的JSON數據為:
String jsonString = "{\"name\": \"張三\", \"age\": 20}";
// 進行編碼轉換
jsonString = new String(jsonString.getBytes("ISO-8859-1"), "UTF-8");
// 建立一個解析JSON的對象
JSONObject jsonObject = new JSONObject(jsonString);
// 獲取名字
String name = jsonObject.getString("name");
// 獲取年齡
int age = jsonObject.getInt("age");

在上述代碼中,我們利用了Java中String類可以使用getBytes方法將ISO-8859-1編碼的字符串轉換為字節數組。然后我們再使用String的構造函數將字節數組轉換為UTF-8編碼的String對象。這樣我們就成功地避免了從JSON中獲取中文數據時可能遇到的亂碼問題。