获取json对象的key值
我有一个json对象,我想获取每一个学生的信息,但是每次拿到的数据最外层的key值是随学生人数增加而变化的,并不是固定的。
所以我的思路为:先获取最外层的key,然后根据key获取value。
实现过程如下:
json对象:

代码为:
public static void main(String[] args) {//字符串String ss = "{\"test111\": {\"学生信息\": {\"姓名\": \"张三\",\"年龄\": \"18\"},\"成绩\": {\"语文\": \"103\",\"数学\": \"25\",\"英语\": \"45\"}},\"test222\": {\"学生信息\": {\"姓名\": \"李四\",\"年龄\": \"19\"},\"成绩\": {\"语文\": \"98\",\"数学\": \"58\",\"英语\": \"118\"}}}";//将字符串转换为json对象JSONObject jsonObject = JSONObject.parseObject(ss);//获取key值 这里也就是test111和test222Iterator<String> iterator = jsonObject.keySet().iterator();while (iterator.hasNext()) {//拿到key值String key = iterator.next();//根据key获取对应的valueJSONObject test_Value = jsonObject.getJSONObject(key);String student = test_Value.getJSONObject("学生信息").toString();String results = test_Value.getJSONObject("成绩").toString();//输出System.out.println("key值为:" + key + ",学生信息为:" + student + ",成绩为:" + results);}}
运行结果:














