gpt4 book ai didi

ruby-on-rails - 使用 ERB 模板生成 json 结构

转载 作者:数据小太阳 更新时间:2023-10-29 08:04:50 26 4
gpt4 key购买 nike

Json1:

{
"Name1" : "Value1",
"Name2" : "<%= Value2 %>"
}

Value2 正在调用一个读取 json2 并给出输出的方法。

ERB.new(File.read("json1.json")).result 给我第二个 json 文件的输出,而不是 json1。

我不知道我还能如何用第二个 json 的输出替换值 2。有没有一种方法可以为 Value2 传递已评估的 json 的值?

最佳答案

这表明你的问题:

ERB.new( "foo bar <%= ERB.new( 'baz' ).result  %>" ).result
=> "baz"

这与 JSON 无关。这是因为根据模板的评估方式,ERB 不会自动嵌套。它附加到一个名为 :_erbout 的变量,不同的 ERB 对象将使用相同的变量。当你想按顺序构建一个结构时它很好,但对于嵌套包含来说就不太好了。

您可以通过告诉 ERB 在生成输出时使用不同的命名变量来解决您的问题:

ERB.new( "foo bar <%= ERB.new( 'baz', nil, nil, :_erbout2 ).result  %>", nil, nil, :_erbout1  ).result
=> "foo bar baz"

代码开始变得难看,所以你可能想要抽象它(特别是如果你事先不知道嵌套的深度,所以你会想要生成变量名)

关于ruby-on-rails - 使用 ERB 模板生成 json 结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15868290/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com