当前位置: 首页 > 知识库问答 >
问题:

如何在放心java中从value中找到key?

裴俊迈
2023-03-14

我使用放心java,我使用post Request来获得响应。从我的代码中,我能够得到响应,我看到在响应中,我看到我要存储的值存在于键集中。这是示例:

{
    "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中打印?????

共有1个答案

娄建义
2023-03-14

使用 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));
}

希望这有所帮助!

 类似资料:
  • 我是新的放心,我试图做一个非常基本的测试来检查响应体和状态。我在这个API调用中按要求传递头部,但当我运行测试时,我得到了401个未经授权的消息,而不是在响应体中显示结果。当我使用Postman运行相同的API时,它的工作很好 下面是我得到的控制台消息,其中显示401 响应发送=>io.restassured.internal.restassuredresponseImpl@18cebaa5响应正

  • 有没有一种算法可以高效地找到这个中心?理想情况下,性能只取决于及其周围环境,而不取决于整个图。 我考虑过从中的所有顶点同时开始广度优先搜索,当所有遇到一个顶点时停止搜索,但这并不是太高效。在这种情况下可能是可行的,但感觉可能有更好的方法。

  • 我在互联网上搜索了如何将JButtons拖放到对象的示例,但我无法使其工作。 我的程序所做的是,当我单击一个按钮时,对象更新了一个字段(使用selectedobject.setField())。我希望能够通过拖动JButton而不是单击来做到这一点。 我该怎么做?我找到了这个,并试图输入我的代码: 我从这里参加了ImageHandler课程。

  • 我尝试使用REST-assured来执行一些需要SSL身份验证的API调用。我收到: . p12文件 密码 .cert.pem文件 .key.pem文件 当我把这一切放在例如。邮递员,它只是工作。现在我想在我的Java代码中使用这个...这就是我被困的地方。我看到人们使用单独的工具来导入密钥等,但我想在代码中做任何事情:) 我发现有人在使用: 其中KEY_STORE_*是P12文件密码(?),信任

  • 在我的Java Swing应用程序中,我有多个用于日期的JTextField,单击时会有一个JButton,它会打开日历来选择日期,并且日期字符串应该插入其中一个JTextField,所以我想设计程序,让用户先点击一个日期JTextField,他想输入一个日期[关注该字段并记住它],程序将JTextField保存为目标组件,然后将该组件传递给calendar对象以输入拾取的日期。到目前为止,我可以

  • 我有一个类似这样的json响应: 我想检查,如果某个数组数组有一个对象,其属性名为“某个属性”,值为“某个值”,但如果它有另一个具有相同属性但不相同值的对象,则不要失败测试。 有可能吗?在此之前,我一直使用静态索引,因为我在该数组中只有一个元素。