java - response.jsonPath() 元素周围有方括号,如何检索字符串值?放心

标签 java testing httpresponse rest-assured rest-assured-jsonpath

我有一个 HTTP 响应正文,当我发出 GET 请求时,它看起来是这样的:

 [
  {
    "id": "1111",
    "type": "Sale",
    "name": "MyNameTest",
    "shortDescription": "Sale a"
  }
]

当我尝试使用“放心”断言结果时,名称值始终包含在方括号 [] 中。

    final String returnedAttributeValue = response.jsonPath().getString("name");
    Assert.assertEquals(returnedAttributeValue, "MyNameTest");

因此测试失败,预期为“MyNameTest”,但结果为“[MyNameTest]”

谁能告诉我如何解决这个问题吗?

最佳答案

您正在访问数组中的值,因此请使用name[n]

final String returnedAttributeValue = response.jsonPath().getString("name[0]");
Assert.assertEquals(returnedAttributeValue, "MyNameTest");

关于java - response.jsonPath() 元素周围有方括号,如何检索字符串值?放心,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63016793/

相关文章:

php - 如何使用 PSR-7 响应?

java - 如何防止模型映射器在 spring data jpa 中急切加载关联集合?

java - Vert.x 从 vertx.executeBlocking 做出 promise

java - 关于实体对象中空值的最佳实践

testing - 没有 XML 的 Spring 集成测试

ios - 如何向 GET 请求添加 header 字段和参数?

java - 何时使用 thread.interrupt() 以及何时抛出 InterruptedException

Java Junit 测试 HTTP POST 请求

ruby - 如何使用不同的参数模拟同一个数据库调用两次并将所有响应值与值数组进行匹配?

flutter - 如何使用标题调用http-get api?