Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将余烬数据与自定义序列化程序一起使用_Javascript_Ember.js_Ember Data_Ember Cli - Fatal编程技术网

Javascript 将余烬数据与自定义序列化程序一起使用

Javascript 将余烬数据与自定义序列化程序一起使用,javascript,ember.js,ember-data,ember-cli,Javascript,Ember.js,Ember Data,Ember Cli,我想你可以说是一个非标准的json api。我试图使用余烬数据,所以从我的阅读周围,我需要创建一个序列化程序。我试图在网上找到一篇文章解释如何做到这一点,但没有找到任何有用的东西。我试着翻阅了灰烬指南,但什么也没找到。以下是我的api示例: 数据收集: { "data": [ { "id": 14, "name": "company name", "slug": "company-name", "detail": { "

我想你可以说是一个非标准的json api。我试图使用余烬数据,所以从我的阅读周围,我需要创建一个序列化程序。我试图在网上找到一篇文章解释如何做到这一点,但没有找到任何有用的东西。我试着翻阅了灰烬指南,但什么也没找到。以下是我的api示例:

数据收集:

{
  "data": [
    {
      "id": 14,
      "name": "company name",
      "slug": "company-name",
      "detail": {
        "data": {
          "id": 10,
          "address": "10000 sw 16th ct",
          "city": "Hollywood",
          "state": "Alabama"
        }
      },
      "employees": {
        "data": [
          {
            "id": 17,
            "first_name": "Peter",
            "last_name": "Griffin",
            "email": "company-name@Griffin.co"
          },
          {
            "id": 18,
            "first_name": "Robert",
            "last_name": "Gornitz",
            "email": null
          }
        ]
      }
    },
    {
      "id": 8,
      "name": "company name",
      "slug": "company-name",
      "detail": {
        "data": {
          "id": 8,
          "address": "1000 n university dr",
          "city": "Fort Lauderdale",
          "state": "West Virginia"
        }
      },
      "employees": {
        "data": [
          {
            "id": 15,
            "first_name": "Peter",
            "last_name": "Griffin"
          },
          {
            "id": 16,
            "first_name": "Peter",
            "last_name": "Griffin"
          }
        ]
      }
    }
  ]
}
以下是一个项目及其关系:

{
  "data": {
    "id": 1,
    "name": "company name",
    "slug": "company-name",
    "detail": {
      "data": {
        "id": 1,
        "address": "1515 n university dr",
        "city": "Miami",
        "state": "Mississippi"
      }
    },
    "employees": {
      "data": [
        {
          "id": 1,
          "first_name": "Peter",
          "last_name": "Griffin",
          "email": "peter@email.com"
        },
        {
          "id": 2,
          "first_name": "Peter",
          "last_name": "Griffin",
          "email": "peter@email.com"
        }
      ]
    }
  }
}

有没有什么好的资源可以教我怎么做?或者我应该不使用余烬数据吗?

只是我这边使用余烬数据的一些提示。我认为您必须能够适应api或编写反序列化程序:

1。根键“数据”

Ember希望根键是模型的名称(例如“公司”)。您可以通过创建一个应用程序序列化程序并通过从“data”键而不是模型“typeKey”中获取有效负载来覆盖extractArray和extractSingle方法来轻松地处理这个问题

2。嵌入式记录

您可以使用EmbeddedRecordsMixin。但为此,您必须跳过嵌入记录中的根键“data”,并直接包含它们(例如,“employees”:[{id:“2”,…},…])

我想看看嵌入式RecordsSmixin:

希望对你有点帮助