我正在尝试使用嵌套关系处理JSONAPI响应。 Ember-Data目前正在获取“included”属性中的所有数据并将其全部推送到正确的模型中,但我的“转录”对象和“cuepoint”对象之间的关系不起作用。 “视频”和“转录”对象之间的关系正常工作,所以它特别是我需要帮助的嵌套部分。
以下是我正在使用的数据示例:
{
"data":{
"type":"video",
"id":"55e0687ba1f9e8032c549680",
"attributes":{
"title":"Test32"
},
"relationships":{
"transcriptions":{
"data":[
{
"relationships":{
"cuepoints":{
"data":[
{
"id":"55e9b62446942224a0f456cc",
"type":"cuepoint"
}
]
}
},
"id":"55e0687ba1f9e8032c549680-transcription-0",
"type":"transcription"
}
]
}
}
},
"included":[
{
"type":"transcription",
"id":"55e0687ba1f9e8032c549680-transcription-0",
"attributes":{
"language":"English"
}
},
{
"type":"cuepoint",
"id":"55e9b62446942224a0f456cc",
"attributes":{
"cueIndex":0,
"startTimeMilliseconds":0,
"endTimeMilliseconds":4400,
"text":"- The first one is the L'Oreal Paris Extraordinary Oil."
}
}
]
}
知道如何处理这件事吗?
答案 0 :(得分:2)
虽然我没有测试过这种特殊情况,但您的JSON似乎不合规。
在顶级begin <nil>
end &{1}
begin &{2}
end &{2}
键下,放置“关系”对象,在relationships
放置“资源”对象。资源对象包含关系定义。
简而言之,将嵌套关系移到顶级included
之外并转移到relationships
。