我使用Crystal的JSON模块更新package.json
个文件,所有输出都在一行上。是否可以控制输出:to_json?
require "JSON"
data = File.read("package.json")
data.as_h["version"] = "X.X.X"
puts data.to_json
答案 0 :(得分:4)
尝试使用.to_pretty_json()
方法。您可以传递一个可选的缩进字符串:.to_pretty_json(" ")
它似乎不是well-documented。但是,这里的来源是:https://github.com/crystal-lang/crystal/blob/master/src/json/to_json.cr
答案 1 :(得分:2)
Object#to_pretty_json
应该让你足够远。如果您需要更多自定义,还可以致电to_json(json : JSON::Builder)
并实施自定义JSON::Builder
。