如何使用robotframework关键字从JSON String获取必需参数

时间:2016-03-09 12:02:08

标签: json robotframework

以下是我的JSON响应字符串

{
 "macKey": "This_is_a_Test_QED_MAC_Key_Which_Needs_to_be_at_Least_32_Bytes_Long",
"subject": "delivery@token.com",
"audience": "qed:test",
"expirationTime": "2016-03-09T23:07:52Z",
"notBeforeTime": "2016-03-09T23:07:52Z",
"jwtId": "",
"permissions": [
"MANAGE_SYSTEM"
],
"useCompactPermissions": false,
"url": "http://172.30.2.155:8080/",
"generatedToken": "eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJ0ZXN0Iiwic3ViIjoiZGVsaXZlcnlAdG9rZW4uY29tIiwiYXVkIjoicWVkOnRlc3QiLCJxZWRwIjpbIm1hbmFnZVN5c3RlbSJdLCJleHAiOjE0NTc1NjQ4NzJ9.8KlDoK-t6HoOth3na2x6drEAFfXCGLKLt3aAMGg0r0U",
"qeda": null,
"qedp": [
"manageSystem"
],
"issueTime": "2016-03-09T09:34:40Z"
}

从上面我需要取 generatedToken 值。

3 个答案:

答案 0 :(得分:0)

使用RequestsLibrary中的“To JSON”

如果您使用RequestsLibrary获取JSON数据,则可以使用To JSON关键字将其转换为对象。然后,您可以使用extended variable syntax访问各个字段。

例如:

| | ${json}= | To JSON | ${response}
| | log to console | \n the token is ${json["generatedToken"]}

使用BuiltIn库中的“Evaluate”

您可以使用Evaluate关键字运行标准python函数json.loads,将json字符串转换为对象。只要数据没有任何三引号字符串,这将起作用:

| | ${json}= | Evaluate | json.loads('''${response}'''} | json
| | log to console | \n the token is ${json["generatedToken"]}

答案 1 :(得分:0)

您可以使用robotframework-httplibrary 然后你可以这样得到它:

${value}= Get Json Value ${json} /generatedToken

答案 2 :(得分:-1)

${Ref_Id_Value}    Get Json Value    ${POSTResp.content}    /doInitiateFundsTransferResponseBody/transactionInformation/transactionReferenceNumber

我认为您可以使用Get Json Value方法。