Java中操作JSON格式數據十分常見,其中如何取得JSON內部的值也是一個比較基礎的問題。
在Java中,我們可以使用JSON庫或者JAVA自帶的JSONObject類來實現。下面是一個示例JSON:
{ "name": "張三", "age": 25, "favourite_food": [ "pizza", "hamburger", "hot dog" ], "address": { "province": "廣東省", "city": "深圳市" } }
以上JSON包含了一個人的姓名、年齡、喜歡的食物列表以及地址信息。現在我們想要獲取其中某一個值,比如姓名或者地址信息中的省份名。
使用JSON庫:
import com.alibaba.fastjson.JSONObject; //引入JSON庫 String jsonString = "{'name':'張三','age':25,'favourite_food':['pizza','hamburger','hot dog'],'address':{'province':'廣東省','city':'深圳市'}}"; JSONObject jsonObject = JSONObject.parseObject(jsonString); String name = jsonObject.getString("name"); String province = jsonObject.getJSONObject("address").getString("province");
在以上代碼中,我們引入了阿里巴巴的JSON庫,通過JSONObject.parseObject()方法將JSON字符串轉換為JSON對象,然后通過getString()或者getJSONObject().getString()的方法獲取值。
使用java自帶的JSONObject類:
import org.json.JSONObject; //引入JSONObject類 String jsonString = "{'name':'張三','age':25,'favourite_food':['pizza','hamburger','hot dog'],'address':{'province':'廣東省','city':'深圳市'}}"; JSONObject jsonObject = new JSONObject(jsonString); String name = jsonObject.getString("name"); String province = jsonObject.getJSONObject("address").getString("province");
在以上代碼中,我們直接使用了JAVA自帶的JSONObject類,同樣通過getString()或者getJSONObject().getString()的方法獲取值。
無論使用JSON庫還是JAVA自帶的JSONObject類,獲取JSON內部的值都是十分簡單的。