【问题标题】:How to compare two json objects using Karate where order of element is to be retained?如何使用要保留元素顺序的空手道比较两个 json 对象?
【发布时间】:2020-05-08 21:47:46
【问题描述】:

我需要在比较时比较订单保留的 2 个 JSON 对象。由于空手道比赛忽略了元素的顺序,我只是想知道空手道是否有办法做到这一点。

【问题讨论】:

    标签: karate


    【解决方案1】:

    不是直接的,它永远不需要,因为 JSON 键可以是任何顺序,例如 Map

    但您可以在转换为(规范化)字符串后进行精确匹配:

    * def foo = { a: 1, b: 2 }
    * string str1 = foo
    * string str2 = { "a": 1, "b": 2 }
    * assert str1 == str2
    

    您还可以随时获取键/值的有序列表:

    * def vals = karate.valuesOf(foo)
    * match vals == [1, 2]
    * def keys = karate.keysOf(foo)
    * match keys == ['a', 'b']
    

    【讨论】:

      猜你喜欢
      • 2019-02-14
      • 2019-12-21
      • 2020-11-19
      • 2014-11-09
      • 2020-10-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-09
      相关资源
      最近更新 更多