我有以下json:
[ { “id”:1, “姓名”:“杰克”, “工资”:23.03 }, { “id”:2, “名字”:“卢克”, “工资”:0.00 } ]
我需要验证小数点后只有 2 位数字。
我正在做这个:
* def salary = $response..salary
* karate.appendTo(salary)
* def strs = karate.map(salary, function(x){ return x + '' })
* match each strs == '#regex [0-9].+\\.[0-9]{2}'
当我的工资为“23.40”或“12.30”时,验证是正确的。问题是,当我有 0、2 或 3 时,验证会抛出以下错误:
有人可以帮助我吗?预先感谢您。
我个人觉得尝试验证 JSON 中数字类型的形状是浪费时间,即使格式不同,数字也是相同的。当您尝试转换为字符串时,您无法控制小数点。例如,试试这个:
* def response = [ { "id": 1, "name": "Jack", "salary": 23.03 }, { "id": 2, "name": "Luke", "salary": 0.00 } ]
* def salaries = response.map(x => x.salary + '')
* print salaries
你得到:
[ "23.03", "0" ]
所以我想说你正在尝试的东西是不可能或不支持的。