JsonPath—获取JSON-Java中第一个属性的名称

JsonPath—获取JSON-Java中第一个属性的名称,java,json,spring-boot,Java,Json,Spring Boot,我试图使用JsonPath在JavaSpring引导中的JSON响应对象中获取属性名。我想访问第一个(或第二个)属性名,但不想硬编码它们 我发现使用*通配符时,不支持选择多个节点 JSON格式为: { "item1": [ {...}, {...}, {...}, ], "item2": [ {...}, {...}, {...}, ], } 如果可能的话,你知道吗 谢谢是的。您要做的是迭代JsonObje

我试图使用JsonPath在JavaSpring引导中的JSON响应对象中获取属性名。我想访问第一个(或第二个)属性名,但不想硬编码它们

我发现使用*通配符时,不支持选择多个节点

JSON格式为:

{
   "item1": [
     {...},
     {...},
     {...},
    ],
   "item2": [
     {...},
     {...},
     {...},
    ],
}
如果可能的话,你知道吗


谢谢

是的。您要做的是迭代JsonObject的键

JSONObject jsonObject = new JSONObject(contents.trim());
Iterator<String> keys = jsonObject.keys();

while(keys.hasNext()) {
    String key = keys.next();
    if (jsonObject.get(key) instanceof JSONObject) {
          // do something with jsonObject here      
    }
}
JSONObject-JSONObject=newjsonobject(contents.trim());
迭代器keys=jsonObject.keys();
while(keys.hasNext()){
String key=keys.next();
if(jsonObject.get(key)jsonObject实例){
//在这里对jsonObject执行一些操作
}
}

参考资料:

我找到了答案-我没有使用来自端点的响应。我将该方法的输出用作端点处理程序。然后我使用了上面@NiksVij的解决方案

谢谢