JSON(JavaScript Object Notation)是一種輕量級的數據交換格式。在Java開發中,我們經常需要判斷JSON數據的類型,根據不同的類型做出相應的處理。常見的JSON類型有:
{ "name": "張三", "age": 20, "isMarried": false, "hobbies": ["游泳", "看電影", "旅游"], "address": { "province": "浙江", "city": "杭州", "district": "西湖區" } }
1. 字符串類型
String jsonStr = "{\"name\":\"張三\"}"; JSONObject jsonObject = new JSONObject(jsonStr); String name = jsonObject.getString("name");
2. 數字類型
String jsonStr = "{\"age\":20}"; JSONObject jsonObject = new JSONObject(jsonStr); int age = jsonObject.getInt("age");
3. 布爾類型
String jsonStr = "{\"isMarried\":false}"; JSONObject jsonObject = new JSONObject(jsonStr); boolean isMarried = jsonObject.getBoolean("isMarried");
4. 數組類型
String jsonStr = "{\"hobbies\":[\"游泳\",\"看電影\",\"旅游\"]}"; JSONObject jsonObject = new JSONObject(jsonStr); JSONArray jsonArray = jsonObject.getJSONArray("hobbies"); List<String> hobbies = new ArrayList<>(); for (int i = 0; i < jsonArray.length(); i++) { hobbies.add(jsonArray.getString(i)); }
5. 對象類型
String jsonStr = "{\"address\":{\"province\":\"浙江\",\"city\":\"杭州\",\"district\":\"西湖區\"}}"; JSONObject jsonObject = new JSONObject(jsonStr); JSONObject addressObject = jsonObject.getJSONObject("address"); String province = addressObject.getString("province"); String city = addressObject.getString("city"); String district = addressObject.getString("district");
通過以上代碼可以看出,判斷JSON類型需要用到JSONObject和JSONArray兩個對象,根據不同的場景選擇不同的方法即可。