当前位置: 首页 > 知识库问答 >
问题:

空手道:匹配两个不同JSON的数组元素

林炫明
2023-03-14

我有以下两个响应,我需要检查res1.member.part[0].supportedMembers[*].muid==res2.membersSupported[*].member.muid(元素的顺序不同)。尝试了不同的事情,但没有任何结果。任何帮助都将不胜感激!

* def res1 = {"member":{"muid":"MBR1"},"part":[{"PID":"M123"},{"supportedMembers":[{"muid":"MBR3","status":{"code":"A"}},{"muid":"MBR2","status":{"code":"I"}}]}]}

* def res2 = {"members":[{"member":{"muid":"MBR2","test":[{"EID":"E123"}]}},{"member":{"muid":"MBR3","test":[{"EID":"E123"}]}}]}

共有1个答案

融伯寅
2023-03-14

给你:

* match res1.part[1].supportedMembers[*].muid contains only $res2.members[*]..muid

还请注意,在某些情况下,您可以使用简化操作。

 类似资料:
  • 我正在尝试验证具有可选键的复杂JSON 下面是完整的可执行特性文件 我想验证ValidJsonSchema,但无法绕过完整的模式匹配 当我尝试匹配可选字段时,我一直得到错误为 com.intuit.karate.exception.karateException:应在路径$中找到属性为[“MyArray”]的对象,但发现了“net.minidev.json.JsonArray”。根据JSONPro

  • 任务: 有3个endpoint: 第一个返回请求的随机数据到另外两个endpoint。 另外两个endpoint使用不同的DBs操作,但或多或少使用相似的数据。 我需要验证来自一个endpoint的响应是否匹配来自另一个endpoint的响应,两个endpoint发送相同的数据,但顺序不同。 例如。: endpoint“A”: endpoint“B”: endpointA_response.ite

  • 我必须验证一个json是否包含另一个json,就像这个测试: 如果失败,则正确,如下所示? 谢谢

  • 下面是用于匹配的json示例;匹配包含不起作用。 它的投掷低于错误,

  • 我正在尝试使用空手道进行e2e测试,并已从最低设置开始。我想在用于测试,但karate报告该文件不是js函数,因此测试无法获取配置: 这是我的: 这是我的测试: 这是测试运行程序:

  • 我必须比较两个JSON数组,一个值为[“123.45”],另一个值为[“123.45”]如何迭代和删除空格?第二个数组值在实际值之前有空格。