JSON(JavaScript Object Notation)是一種輕量級的數(shù)據(jù)交換格式,它以文本形式表示復(fù)雜數(shù)據(jù)結(jié)構(gòu),通常用于Web應(yīng)用程序中進(jìn)行數(shù)據(jù)交換。JSON支持多種語言,包括Java語言。在Java中,我們可以使用Json庫對JSON字符串進(jìn)行解碼操作。
//導(dǎo)入Json庫 import com.alibaba.fastjson.JSON; //解碼JSON字符串 String jsonString = "{'name':'張三','age':20}"; JSONObject json = JSON.parseObject(jsonString); String name = json.getString("name"); int age = json.getIntValue("age"); System.out.println("姓名:" + name + ",年齡:" + age);
在上述代碼中,我們使用了阿里的fastjson庫來進(jìn)行JSON解碼。首先,我們定義了一個JSON字符串,它包含了一個人的姓名和年齡信息。然后,我們使用JSON.parseObject()方法將字符串解碼為JSONObject對象,再通過getString()和getIntValue()方法分別獲取姓名和年齡的值,并輸出到控制臺中。
需要注意的是,如果JSON字符串中包含中文,那么在解碼時可能會出現(xiàn)亂碼的情況。為了避免這種情況,我們需要指定字符集。
//指定字符集解碼JSON字符串 String jsonString = "{'name':'張三','age':20}"; JSONObject json = JSON.parseObject(jsonString, Charset.forName("UTF-8")); String name = json.getString("name"); int age = json.getIntValue("age"); System.out.println("姓名:" + name + ",年齡:" + age);
在上述代碼中,我們使用Charset.forName()方法指定了字符集為UTF-8,這樣就能正確地解碼中文字符串了。