我想使用karate.write将(用karate.merge制作的) JsMap导出为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')什么是正确的转换才能达到我想要的结果?
发布于 2021-10-19 13:23:32
这会让你得到你想要的:
* def data = {"a":1,"b":2}
* def file = karate.write(karate.pretty(data), 'test.json')
* print 'saved to:', file空手道并不是一个真正的JSON格式化工具,所以如果需要的话,可以考虑使用Java互操作。和karate.write()有一些警告,请参阅:https://stackoverflow.com/a/54593057/143475
https://stackoverflow.com/questions/69630022
复制相似问题