karate - 如何在带有变量的 json 正文中设置键的值?
问题描述
我正在尝试MY_VARIABLE
在 json 对象中设置变量。
* def MY_VARIABLE = 'USER_1'
* def loginRequestJson = { user: MY_VARIABLE , name: 'Some Name'}
* print loginRequestJson
但它输出 MY_VARIABLE 作为字符串文字,而不是我预期的 MY_VARIABLE 的值。
{ "user": "MY_VARIABLE", "name": "Some Name" }
我知道我可以进行字符串连接,但这开始看起来很混乱,有超过 5 个变量。
* def loginRequestJson = "{ 'user': "+ MY_VARIABLE +" , 'name': 'Some Name'}"
有没有更优雅的方式将我的变量放入 json 中?
PS也许我正在以Pythonic的方式思考字典,这可能不是本意。
解决方案
是的,空手道有点不同。请花一点时间阅读:https ://github.com/intuit/karate#embedded-expressions
但是,如果您添加圆括号,则可以使用 Pythonic 或 JavaScript-ish 方式:
* def MY_VARIABLE = 'USER_1'
* def loginRequestJson = ({ user: MY_VARIABLE , name: 'Some Name'})
但空手道的首选方式是:
* def MY_VARIABLE = 'USER_1'
* def loginRequestJson = { user: '#(MY_VARIABLE)' , name: 'Some Name'}
您可以选择。
推荐阅读
- java - Android - 查看寻呼机返回功能在前两个选项卡中不起作用
- css - 带图标的引导进度条
- firebase - 以原子方式推送新的聊天消息并更新 Firebase 实时数据库上的 lastMessage 值
- jupyter-lab - Anaconda / Jupyter lab:更改目录后出现AttributeError
- sql - SQL server CASE 全选,但如果值为a,则其他列值不能为NULL
- c# - EF Core 5 - 使用 SQL 更新实体不起作用
- python - 如何使窗口始终位于顶部?
- ruby-on-rails - 在 JSON 响应中包含 ActiveStorage URL 到图像?
- firebase - 如何从firebase数组中获取数据?
- javascript - lodash 油门功能似乎没有被调用