【发布时间】:2019-08-12 10:22:19
【问题描述】:
我将 RestAssured 用于 API 自动化,作为其中的一部分,我必须从 JSON 响应中提取一个值。
JSON 响应如下
{
"resourceName": "SERVICE_STATUS",
"records": [
{
"CREATED_DTTM": "2019-08-12T05:58:12.940Z",
"STATUS": "SUCCESS",
"SERVICE_EXECUTION_ID": "e760bed8-2ebb-4563-9812-7c0e5ed565cf",
"OUTPUT_FILE(S)": [
"FileC_FileA.csv"
],
"SERVICE_ID": "EXCEL2CSV"
}
],
"status": "SUCCESS"
}
我必须从响应中提取值“FileC_FileA.csv”,但是当我通过 Json Path 执行此操作时,它会失败,因为“()”在 json 路径中具有特殊含义。
JsonPath js1 = new JsonPath(statusrespstring);
String outputfile = js1.get("OUTPUT_FILE(S)"); -----> This is failing
我尝试过使用
String outputfile = js1.get("OUTPUT_FILE"+"("+"S"+")");
String outputfile = js1.get('OUTPUT_FILE(S)');
但是得到错误 :使用了参数“S”但未定义。使用 JsonPath.params(...) 函数定义参数
请大神帮忙,如何选择一个关键参数有 () 的值。
【问题讨论】:
标签: jsonpath