我正在尝试将作为JSON字符串保存在DB中的列公开。但它显示只是字符串。任何帮助,将不胜感激。
实体样本:
class Entity < Grape::Entity
expose :id
expose :name
expose :credentials # this is json string
end
实际回应:
[
{
"id": 1,
"name": "Foo",
"credentials": "[{\"name\":\"key\",\"label\":\"Key\"},{\"name\":\"key2\",\"label\":\"Key2\"}]"
}
]
预期回应:
[
{
"id": 1,
"name": "Foo",
"credentials": [
{
"name": "key",
"label": "Key"
},
{
"name": "key2",
"label":"Key2"
}
]
}
]
如果credentials
是一个包含JSON的String,为了让它被Grape渲染为JSON对象(而不是String),你必须反序列化它:
class Entity < Grape::Entity
expose :id
expose :name
expose :credentials
def credentials
JSON.load object.credentials
end
end