Ember数据帮助!无法将JSON反序列化为模型

Ember data help! Unable to de-serialise JSON to model

本文关键字:JSON 反序列化 模型 数据 帮助 Ember      更新时间:2023-09-26

我使用的是:

Ember 1.10.0Ember数据1.0.0-beta.15

我有一个这样的模型:

//models//acceptedtask.js
import DS from "ember-data";
export default DS.Model.extend({
    userAggregateId: DS.attr('number'),
    taskAggregateId: DS.attr('number'),
    name: DS.attr('string')
});

我从服务器上得到这个:

{"acceptedTask":{"id":5,"userAggregateId":1,"taskAggregateId":3,"name":"Clean table"}}

每当我得到这个json返回ember时,就会抛出以下错误:

Error: Assertion Failed: You must include an `id` for task-management@model:acceptedtask: in an object passed to `push`
    at new Error (native)
    at Error.EmberError (http://localhost:4200/assets/vendor.js:22992:23)
    at Object.Ember.assert (http://localhost:4200/assets/vendor.js:14489:15)
    at Ember.Object.extend.push (http://localhost:4200/assets/vendor.js:74317:15)
    at http://localhost:4200/assets/vendor.js:74783:24
    at Object.Backburner.run (http://localhost:4200/assets/vendor.js:10749:27)
    at ember$data$lib$system$store$$_adapterRun (http://localhost:4200/assets/vendor.js:74759:32)
    at http://localhost:4200/assets/vendor.js:74780:16
    at tryCatch (http://localhost:4200/assets/vendor.js:60990:16)
    at invokeCallback (http://localhost:4200/assets/vendor.js:61002:17)

有人能帮我吗?我觉得我错过了一些基本的东西,因为类似的问题在半个互联网上搜索:(

谢谢,

Tom

我使用了您的模型和响应。然而,为了使其正确填充,我不得不更改的响应

{"acceptedTask":{"id":5,"userAggregateId":1,"taskAggregateId":3,"name":"Clean table"}}

{"acceptedtask":{"id":5,"userAggregateId":1,"taskAggregateId":3,"name":"Clean table"}}

除此之外,它看起来还不错。然而,我收到了以下警告,而不是你指出的错误:

"WARNING: Encountered "acceptedTask" in payload, but no model was found for model name "acceptedTask"