将对象转换为模型

时间:2017-04-05 01:05:24

标签: javascript angular typescript

获取JSON并解析并将其推送到数组后,我有:

[object, object]

我想将每个对象转换为以下数据模型:

import { ItemModel } from './item.model'; 

export class TodolistModel {
    name: string;
    items: Array<ItemModel> = []; 
}

我试过这个:

parsedTodolists.forEach(parsedTodolist => {
      let loadChecklist = Object.assign(new TodolistModel(), parsedTodolist); }

但这导致了一个时髦的任务:

TodolistModel {0: Object, 1: Object, items: Array(0)}

我正在努力实现这一目标:

[TodolistModel, TodolistModel]

谢谢!

2 个答案:

答案 0 :(得分:0)

您是否尝试过映射数据?

const todoData = [{ /* ... */ }, { /* ... */ }];
const parsedTodoData = todoData.map((todo) => new TodolistModel(todo));

答案 1 :(得分:0)

我提取的数据被保存为模型。因此,我不需要&#34;转换&#34;我的数据回到模型。它已经坚持模型参数。

E.g。

[TodolistModel, TodolistModel]

已保存到数据库。我拉了它,JSON解析了它并且:

[Object, Object]

然后我将它推入一个数组并看到:

[Array (2)]

我不应该将它推到数组中,因为它已经是一个数组。我需要迭代并将每个对象推送到我的数组。

我错误地认为它有两个方面:1。)它已经坚持了模型,并且2.)JSON.parse创建了一个数组!

希望这有助于某些人:)