繁体   English   中英

如何使用 RestAssured.JsonPath 从 JSON 获取特定属性的值

[英]How to get the value of particular attribute from a JSON using RestAssured.JsonPath

我正在尝试通过 RestAssured + Java 代码访问 API 并能够得到一些响应,正如您在这篇文章中看到的那样。 但我需要获取 JSON 中存在的特定节点/属性的值,即errorParams并在 Java 控制台中打印。

{
   "customerId":null,
   "errorDetails":[
      [
         {
            "errorCode":"ABC_2021",
            "errorParams":"Input Customer Id"
         }
      ]
   ]
}

我试过这样但不工作。

JsonPath jsp = new JsonPath(response.getBody().asString());

System.out.println(jsp.getString("errorDetails.errorParams"));

System.out.println(jsp.getString("$['errorDetails']['errorParams']"));

任何建议或工作脚本都会对我有所帮助。

谢谢,
卡鲁纳加拉潘迪 G

那个工作得很好:

System.out.println(jsp.getString("errorDetails.errorParams"));

所以我假设您以错误的方式检索您的 JsonPath,请尝试:

JsonPath jsp = response.jsonPath();

或者

JsonPath jsp = new JsonPath(response.asString());

您可以使用以下对我有用的代码段

System.out.println(response.jsonPath().getString("errorDetails.errorParams"));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM