Задать вопрос
Felino
@Felino

Как распарсить данные полученные с Json?

Добрый день!
Получаю с сервера JSON.
Подскажите как мне правильно вытащить из него данные в коллекцию теперь
Делаю на данные момент вот так!
getPeople(): Observable<People[]> {
    return this.http.get<People[]>('http://localhost:3000/global').pipe(
      map
      (
        data => {
          let userlist = data['general'];
          return userlist.map
          (
            function (user: any) {
              console.log(user.firstName);
              return {first_name: user.firstName, last_name: user.lastName, ava: user.avatar};
            }
          );
        }
      )
    );
  }

структура JSON
{
"global":[
  {
    "general": [{
      "firstName": "Liana",
      "lastName": "Crooks",
      "avatar": "https://s3.amazonaws.com/uifaces/faces/twitter/kevinoh/128.jpg"
    }],
    "job": [{
      "company": "Ledner, Johnson and Predovic",
      "title": "Investor Functionality Coordinator"
    }],
    "contact": [{
      "email": "Gerry_Hackett77@gmail.com",
      "phone": "(895) 984-0132"
    }],
    "address": [{
      "street": "1520 Zemlak Cove",
      "city": "New Devon",
      "zipCode": "42586-7898",
      "country": "Guinea-Bissau"
    }]
  },
  {
    "general": [{
      "firstName": "Deontae",
      "lastName": "Dare",
      "avatar": "https://s3.amazonaws.com/uifaces/faces/twitter/andysolomon/128.jpg"
    }],
    "job": [{
      "company": "D'Amore, Dicki and Borer",
      "title": "International Applications Consultant"
    }],
    "contact": [{
      "email": "Kellie.Marvin38@yahoo.com",
      "phone": "1-615-843-3426 x600"
    }],
    "address": [{
      "street": "65901 Glover Terrace",
      "city": "Alden ton",
      "zipCode": "57744-4248",
      "country": "Kenya"
    }]
  }
]
}

структура модели
export class People {
  constructor(
    public firstName: string,
    public lastName: string,
    public avatar: string,
    public id?: number
  ) {
  }
}

Структура полной информации
export class FullModel {
  constructor(
    public firstName: string,
    public lastName: string,
    public avatar: string,
    public company: string,
    public title: string,
    public email: string,
    public phone: string,
    public street: string,
    public city: string,
    public zipCode: string,
    public country: string,
    public id?: number
  ) {
  }
}

В чем бок подскажите! в какую сторону копать?
Я так понимаю для того что бы получить полную информацию конкретного объекта нужно передавать еще его ID?
Спасибо!
  • Вопрос задан
  • 134 просмотра
Подписаться 1 Средний 1 комментарий
Пригласить эксперта
Ответы на вопрос 1
Qairat
@Qairat
frontend developer, angular 2+
Посмотри

Я сам обычно так делаю, и все делаю через Interface, так более удобно.
В примере сделал парсинг для People.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы