Java 请放心-无法访问JSON响应中的特定密钥
我使用的是REST Assured库,在访问下面JSON响应中的特定键Java 请放心-无法访问JSON响应中的特定密钥,java,json,rest-assured,Java,Json,Rest Assured,我使用的是REST Assured库,在访问下面JSON响应中的特定键freshdeskId时遇到了一个非常奇怪的问题,这是我代码中的response对象 { "status": true, "responseData": { "orderId": "553259", "orderItemName": "None", "userId": "636049", "freshdeskId": "#155",
freshdeskId
时遇到了一个非常奇怪的问题,这是我代码中的response
对象
{
"status": true,
"responseData": {
"orderId": "553259",
"orderItemName": "None",
"userId": "636049",
"freshdeskId": "#155",
"orderItemId": null,
"updatedOn": 1491824018000,
"message": "OK"
}
}
我可以使用
response.path(“responseData.orderId”)
(或类似)访问其他字段,如orderId
、userId
、updatedOn
,但是response.path(“responseData.freshdeskId”)
返回空字符串,而它应该返回“#155”值。获取了此问题的根本原因,结果表明这是服务器端问题,因为它没有发送freshdeskId
属性的值,因为需要从其他地方异步获取该属性
因此,作为一种解决方案,我在测试中添加了60秒的等待,这将生成
响应。值为freshdeskId
在此期间在后端更新。找到了此问题的根本原因,结果证明这是服务器端问题,因为它没有发送freshdeskId
属性的值,因为需要从其他地方异步获取该属性
因此,作为一种解决方案,我在测试中添加了60秒的等待,这将生成响应。该值为freshdeskId
,在此期间在后端更新。您看到了吗
另外,这里添加了支持异步的请求-您看到了吗
另外,这里添加了支持异步的请求-您是否在网络选项卡中查看了响应JSON本身?可能是服务器给您发送了一个空字符串。@JoshuaJWilborn感谢您的快速响应。我尝试转储response.asString()
的输出,发现字段freshdeskId
确实有一个空字符串(“”)。但是,如果我从Postman中找到相同的API,我会得到一个合适的字符串值(“#155”)。这看起来很奇怪。您是否在网络选项卡中查看了响应JSON本身?可能是服务器给您发送了一个空字符串。@JoshuaJWilborn感谢您的快速响应。我尝试转储response.asString()
的输出,发现字段freshdeskId
确实有一个空字符串(“”)。但是,如果我从Postman中找到相同的API,我会得到一个合适的字符串值(“#155”)。这看起来很奇怪。不,我没有。但这和我的问题有什么关系?不,我没有。但这与我的问题有什么关系?