【问题标题】:REST-Assured - Unable to access a particular key in the JSON responseREST-Assured - 无法访问 JSON 响应中的特定键
【发布时间】:2017-04-11 04:14:52
【问题描述】:

我正在使用 REST-Assured 库,但在访问 JSON 响应下方的特定键 freshdeskId 时遇到了一个非常奇怪的问题,这是我的代码中的 Response 对象。

{
    "status": true,
    "responseData": {
        "orderId": "553259",
        "orderItemName": "None",
        "userId": "636049",
        "freshdeskId": "#155",
        "orderItemId": null,
        "updatedOn": 1491824018000,
        "message": "OK"
    }
}

我可以使用response.path("responseData.orderId")(或类似的)访问其他字段,如orderIduserIdupdatedOn等,但response.path("responseData.freshdeskId")返回一个空字符串,而它预计会返回“#155”值。

【问题讨论】:

  • 您是否在网络选项卡中查看了响应 JSON 本身?服务器可能给你发送了一个空字符串。
  • @JoshuaJWilborn 感谢您的快速回复。我尝试转储response.asString() 的输出,发现freshdeskId 字段确实有一个空字符串(“”)。但是,如果我从 Postman 访问相同的 API,我会得到一个正确的字符串值(“#155”)。这看起来很奇怪。

标签: java json rest-assured


【解决方案1】:

【讨论】:

  • 不,我没有。但它与我的问题有什么关系?
【解决方案2】:

找到了这个问题的根本原因,原来这是一个服务器端问题,因为它没有发送 freshdeskId 属性的值,因为需要从其他地方异步获取相同的值.

因此,作为一种解决方案,我在生成response 的测试中添加了 60 秒的等待时间。值freshdeskId在此期间在后端更新。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多