對于嵌套級別較深的JSON數據,我們有時候需要取出多層嵌套的鍵值。下面介紹一種Java使用JSON庫快速取多層嵌套鍵值的方法。
首先需要依賴JSON的庫,常用的有fastjson、jackson等。這里以fastjson為例:
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.JSON;
public static void main(String[] args) {
String jsonStr = "{\"name\":\"Tom\",\"age\":18,\"contact\":{\"email\":\"tom@example.com\",\"phone\":{\"mobile\":\"1234567890\",\"home\":\"0987654321\"}}}";
JSONObject jsonObj = JSON.parseObject(jsonStr);
String name = jsonObj.getString("name");
String mobile = jsonObj.getJSONObject("contact").getJSONObject("phone").getString("mobile");
System.out.println("name: " + name);
System.out.println("mobile: " + mobile);
}
上述代碼中,我們首先將JSON數據解析為JSONObject對象,然后通過getString
、getJSONObject
等方法獲取對應的鍵值。
我們可以看到,對于多層嵌套的鍵值,只需要使用多個getJSONObject
、getString
等方法將其逐層獲取即可。