欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

java 接收json中文亂碼

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

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

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

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

// 假設(shè)從API中獲取到的JSON數(shù)據(jù)為:
String jsonString = "{\"name\": \"張三\", \"age\": 20}";
// 進行編碼轉(zhuǎn)換
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編碼的字符串轉(zhuǎn)換為字節(jié)數(shù)組。然后我們再使用String的構(gòu)造函數(shù)將字節(jié)數(shù)組轉(zhuǎn)換為UTF-8編碼的String對象。這樣我們就成功地避免了從JSON中獲取中文數(shù)據(jù)時可能遇到的亂碼問題。