访问Backbone中的嵌套JSON对象

gkl3eglg  于 2022-11-10  发布在  其他
关注(0)|答案(1)|浏览(143)

我有一个简单的场景,我用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') %>

有什么想法吗?我肯定我还没弄明白一些基本的东西。

已更新

我意识到一些类别名称是空的,这是导致错误的原因。上面的代码应该是好的。

piok6c0g

piok6c0g1#

您的JSON格式似乎不正确。
根据JSON规范,您需要用引号将键括起来。
请尝试以下方法:

[{
  "category_id": 2,
  "id": 34,
  "name": "red",
  "category": {
    "name": "color"
  }
},
{
  "category_id": 2,
  "id": 35,
  "name": "blue",
  "category": {
    "name": "color"
  }
}]

相关问题