【发布时间】:2015-06-11 20:01:01
【问题描述】:
我正在尝试使用 ERB 呈现 JSON 模板,不幸的是,由于 '=>' 哈希表示法,它不像使用 Python 那样简单。 这是一个简短的例子:
require 'erb'
h = Hash.new
h["first"] = "First"
h["second"] = "Second"
template = ERB.new <<-EOF
{
"key": "value",
"foo": 1,
"Hash": <%= h %>,
"bar": 2
}
EOF
puts template.result(binding)
这段代码会产生这样的输出:
{
"key": "value",
"foo": 1,
"Hash": {"first"=>"First", "second"=>"Second"},
"bar": 2
}
将 '=>' 符号转换为冒号会生成一个有效的 json 文件。 有没有办法使用我不知道的 Ruby/ERB(除了分别打印键、值和字符)?还是应该对我生成的 json 文件进行替换?
我觉得我错过了明显的解决方案
【问题讨论】:
-
为什么要使用 ERB 呢?你为什么不建立一个嵌套的哈希和
to_json呢? -
我不确定我是否有一个聪明的答案!我会考虑一下,如果它真的对我没有好处,我会删除所有冗余。感谢您的评论