在Java中,我們經(jīng)常需要處理JSON數(shù)據(jù),而遍歷JSON數(shù)據(jù)中的key是其中一個基本操作。使用Java中的JSON庫可以很方便地實現(xiàn)這個操作,下面就來介紹一些常用的遍歷key的方法。
import org.json.*; JSONObject obj = new JSONObject("{ "name": "John", "age": 30, "car": null }"); // 1. 使用keys()方法 Iterator<String> keys = obj.keys(); while(keys.hasNext()) { String key = keys.next(); System.out.println(key); } // 2. 使用JSONObject的entrySet() for(Map.Entry<String, Object> entry : obj.entrySet()) { String key = entry.getKey(); System.out.println(key); } // 3. 使用JSONObject的keySet() for(String key : obj.keySet()) { System.out.println(key); }
上面的三種方法都可以遍歷JSON對象中的所有key。其中,方法一需要先獲取keys迭代器,然后通過迭代器遍歷所有key;方法二和方法三則是直接獲取key的集合,不需要再通過迭代器遍歷。
除了JSONObject之外,JSONArray也可以使用類似的方式遍歷所有的key。遍歷JSONArray時,獲取的是索引而非key。
import org.json.*; JSONArray arr = new JSONArray("[1, 2, 3, 4]"); // 遍歷JSONArray for(int i = 0; i < arr.length(); i++) { int num = arr.getInt(i); System.out.println(num); }
上述代碼遍歷了一個JSONArray對象,獲取其中每個元素的值。需要注意的是,遍歷JSONArray時,我們獲取的是索引而非key,因為JSONArray中的元素本身就是無名的值。