【问题标题】:Export jsMap as json将 jsMap 导出为 json
【发布时间】:2021-10-19 21:23:32
【问题描述】:

我想使用 karate.write 将 JsMap(使用 karate.merge 制作)导出为 json 文件。我的问题是文件只包含一行:

{"a":1,"b":2}

虽然我希望是这样的(格式化超过 4 行):

{
  "a":1,
  "b":2
}

我的代码,以及我尝试过的所有转换(导致相同的结果):

  Scenario: merge
    * def foo = { a: 1 }
    * def bar = karate.merge(foo, { b: 2 })
    * match bar == { a: 1, b: 2 }
    * karate.write(bar, 'bar1.json')
    * karate.write(bar, 'bar2.txt')
    * karate.write(karate.toJson(bar), 'bar3.json')
    * karate.write(karate.toJson(bar), 'bar4.txt')
    * string bar = bar
    * karate.write(bar, 'bar5.json')
    * karate.write(bar, 'bar6.txt')
    * karate.write(karate.toJson(bar), 'bar7.json')
    * karate.write(karate.toJson(bar), 'bar8.txt')

实现我想要的结果的正确转换是什么?

【问题讨论】:

    标签: karate


    【解决方案1】:

    这会让你得到你想要的:

    * def data = {"a":1,"b":2}
    * def file = karate.write(karate.pretty(data), 'test.json')
    * print 'saved to:', file
    

    Karate 并不是真正的 JSON 格式化工具,因此如果需要,请考虑使用 Java 互操作。而karate.write() 有一些注意事项,请参考:https://stackoverflow.com/a/54593057/143475

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-08
      • 2013-06-01
      • 2011-07-26
      • 2020-12-17
      相关资源
      最近更新 更多