我正在尝试将我的JSON对象转换为jbuilder语法,但JSON本身在其中包含冒号字符。 我的JSON看起来像这样:
style: {
"ui:className": "custom-class"
}
我正在尝试这个:
json.style do
json.ui:className "custom-class"
end
答案 0 :(得分:1)
您可以使用key_format!
方法:
json.style do
json.key_format! -> (key) { (key == "ui_className") ? "ui:className" : key }
json.ui_className "custom-class"
end
答案 1 :(得分:1)
您可以通过以下两种方式之一解决此问题(如果您不想转换密钥)。
使用Object#public_send通用方式发送方法名称:
json.style do
json.public_send 'ui:className', 'custom-class'
end
使用JBuilder#merge!合并属性:
json.style do
json.merge! 'ui:className' => 'custom-class'
# or
json.merge! 'ui:className': 'custom-class'
end