我有一个简单的场景,我使用带有Rails后端的嵌套对象返回JSON。我无法访问嵌套对象的属性。
示例JSON:
[{
category_id: 2,
id: 34,
name: "red",
category: {
name: "color"
}
},
{
category_id: 2,
id: 35,
name: "blue",
category: {
name: "color"
}
}]
假设我想访问ID为35的项目的类别颜色,这在控制台中工作正常:
collection = new App.Collections.Colors()
collection.fetch()
model = collection.get(35)
model.get('category').name
在我的eco模板中,我收到错误“无法读取未定义的属性'名称。”但是,我的模板仍显示如果我只指示
,我可以使用[object Object]访问该对象<%= model.get('category') %>
有什么想法吗?我确定我不理解一些基本的东西。
已更新
我意识到某些类别名称为nil导致错误。上面的代码应该没问题。
答案 0 :(得分:2)
您的JSON似乎格式不正确。
根据JSON规范,您需要用引号包装键。
请尝试以下方法:
[{
"category_id": 2,
"id": 34,
"name": "red",
"category": {
"name": "color"
}
},
{
"category_id": 2,
"id": 35,
"name": "blue",
"category": {
"name": "color"
}
}]