Получить данные из "удаленного" JSON в текущий JSON ионной 3 - PullRequest
0 голосов
/ 04 июня 2018

У меня есть такой объект

 mapsToSync = {to:this.token,fils:[{src:"",md5:""}]};

, и здесь я хочу заполнить файлы с помощью json из ресурсов

 this.http.get('../assets/fills.json').map(res => res.json()).subscribe(data => {
            this.mapsToSync.fils.push(data.fills);
        }); 

И fills.json равен

{
    "fills":[
        {"src":"","md5":""},
        {"src":"","md5":""},
        {"src":"","md5":""}
    ]
}

Моя проблема в этом.Мой объект теперь выглядит примерно так:

{
to:this.token,
fils:[{src:"",md5:""},[{src:"",md5:""},{src:"",md5:""},{src:"",md5:""}]]
};

Я хочу

  {
    to:this.token,
    fils:[{src:"",md5:""},{src:"",md5:""},{src:"",md5:""},{src:"",md5:""}]
    };

Если попытаться манипулировать данными, я вернусь, например data.length -> length of undefined.Таким образом, данные не готовы.Я должен использовать асинхронную функцию awaint?

1 Ответ

0 голосов
/ 04 июня 2018

Поскольку ваши mapsToSync.fils и data.fills имеют одинаковую структуру массива, вы можете также объединить их, используя функцию concat.

 this.http.get('../assets/fills.json').map(res => res.json()).subscribe(data => {

this.mapsToSync.fils=this.mapsToSync.fils.concat(data.fills);


        }); 

Таким образом, ваши существующие данные сохранятся с новыми данными

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...