我正在使用RESTAdapter和RESTSerializer来解析带有关系的json有效负载(sideloaded)。 DS.RESTAdapter的文档声明侧载相关数据应该在它们自己的类型的键下返回,例如
{
"posts": {
"id": 5,
"title": "I'm Running to Reform the W3C's Tag",
"author": "Yehuda Katz",
"comments": [1, 2]
},
"comments": [{
"id": 1,
"author": "User 1",
"message": "First!",
}, {
"id": 2,
"author": "User 2",
"message": "Good Luck!",
}]
}
当使用我自己的有效负载时,除非我为每个相关项添加一个类型字段,否则我会得到一个解析错误:'无法读取属性'替换'未定义'。
这是我的有效载荷:
{
"practice-items": [
{
id: 1,
title: 'Major Scales',
discipline: 1
},
{
id: 2,
title: 'Minor Scales',
total_issues_count: 5,
discipline: 1
}
],
"disciplines": [
{
id: 1,
title: 'Scales',
type: 'discipline'
},
{
id: 2,
title: 'Pieces',
type: 'discipline'
}
]
}
这有效 - 但如果我省略每个相关记录中的'type'字段则不行。知道为什么会这样 - 我错过了一些明显的东西吗?
答案 0 :(得分:0)
我认为问题是您在每个discipline
中使用了密钥practice-items
,但是侧载数据的密钥是disciplines
。他们需要匹配,或 - 您正在看到的 - 您可以使用与type
属性指定的完全不同的名称。