我有一个JSON请求,我需要检查一个字段的值是否为json。我正在尝试使用regex:
"request": {
...
"bodyPatterns": [
{
"equalToJson": {
"field_1": "Value",
"field_2": "${json-unit.any-number}",
"field_3": "${json-unit.regex}^\u007B.\u007D$"
}
}
]
}
我也试过:
"field_3": "${json-unit.regex}\\{.\\}"
"field_3": "${json-unit.regex}{.}"
但是这些都不起作用,如何才能正确地确定字段的值包含JSON?
必须与存根匹配的示例请求:
{
"field_1": "Value",
"field_2": 100,
"field_3": {
"1.1": 2,
"1.2": null,
"1.3": null,
"1.4": null,
...
}
}
2条答案
按热度按时间gxwragnw1#
您只能对字符串值使用正则表达式占位符,因此在此示例中这不起作用,因为元素的值是一个对象。
但是,如果您只想说“我希望这个元素存在,但不关心其内容”,则可以使用
"${json-unit.ignore}"
作为值。如果您确实需要更明确一些,我建议您仍然执行上述操作,但是添加第二个主体匹配器,该主体匹配器带有一个JSONPath表达式,用于说明对象应该包含什么。
62lalag42#
再举一个如何使用regex的例子: