如何在放心java中从值中找到键?
How to find key from value in rest assured java?
我正在使用放心 java 并且我正在使用 post 请求以获得响应。从我的代码中,我能够得到响应,并且我看到作为响应,我看到我想要存储的值存在于键集中。
这是示例:
{
"status_code": 200,
"status_message": "OK",
"response": {
"applications": {
"345": "A",
"125": "B",
"458": "C",
"434": "D",
"512": "E",
"645": "F"
}
}
}
在上面的示例中,我使用 Json 路径来解析表达式,我想使用值 "A" 从中提取密钥(“345”)。
JsonPath js = new JsonPath(res);
String Key = js.get("response.applications.A");
当我使用上面的代码时它抛出一个错误但是当我 运行 下面的代码时。
JsonPath js = new JsonPath(res);
String Key = js.get("response.applications.345");
我得到的输出是 A。
我知道什么是 [A,b,c,d,e,f] 但我不知道什么是 [A,b,c,d,e,f]
有什么方法可以让我放心地存储该值并打印该值的密钥或 Java 中的任何其他方式?????
使用JsonPath
,您可以通过调用getMap
获得钥匙。这是您将如何执行此操作的示例:
String jsonString = "{\"status_code\": 200,\"status_message\": \"OK\",\"response\":{\"applications\":{\"345\": \"A\",\"125\": \"B\",\"458\": \"C\",\"434\": \"D\",\"512\": \"E\",\"645\": \"F\"}}}";
JsonPath jsonPath = new JsonPath(jsonString);
Map<String, String> applicationsMap = jsonPath.getMap("response.applications");
Set<String> applicationKeys = applicationsMap.keySet();
for(String key:applicationKeys){
System.out.println("Key value: " + key + ", Element value: " + applicationsMap.get(key));
}
希望对您有所帮助!
我正在使用放心 java 并且我正在使用 post 请求以获得响应。从我的代码中,我能够得到响应,并且我看到作为响应,我看到我想要存储的值存在于键集中。 这是示例:
{
"status_code": 200,
"status_message": "OK",
"response": {
"applications": {
"345": "A",
"125": "B",
"458": "C",
"434": "D",
"512": "E",
"645": "F"
}
}
}
在上面的示例中,我使用 Json 路径来解析表达式,我想使用值 "A" 从中提取密钥(“345”)。
JsonPath js = new JsonPath(res);
String Key = js.get("response.applications.A");
当我使用上面的代码时它抛出一个错误但是当我 运行 下面的代码时。
JsonPath js = new JsonPath(res);
String Key = js.get("response.applications.345");
我得到的输出是 A。 我知道什么是 [A,b,c,d,e,f] 但我不知道什么是 [A,b,c,d,e,f]
有什么方法可以让我放心地存储该值并打印该值的密钥或 Java 中的任何其他方式?????
使用JsonPath
,您可以通过调用getMap
获得钥匙。这是您将如何执行此操作的示例:
String jsonString = "{\"status_code\": 200,\"status_message\": \"OK\",\"response\":{\"applications\":{\"345\": \"A\",\"125\": \"B\",\"458\": \"C\",\"434\": \"D\",\"512\": \"E\",\"645\": \"F\"}}}";
JsonPath jsonPath = new JsonPath(jsonString);
Map<String, String> applicationsMap = jsonPath.getMap("response.applications");
Set<String> applicationKeys = applicationsMap.keySet();
for(String key:applicationKeys){
System.out.println("Key value: " + key + ", Element value: " + applicationsMap.get(key));
}
希望对您有所帮助!