2017-02-08 3 views
-3

У меня есть следующий вывод JSON: http://pastebin.com/9bHaBrbXэкстракта JSON данные в Angular2

Я хотел бы сделать этот псевдокод реальность:

For every Model { 
    For every Year { 
     For every Style { 
      if submodel.body is NOT in Array: 
       load submodel.body to Array; 
     } 
    } 
} 

Я хотел бы сохранить этот массив в моем model.component так Я могу использовать его, чтобы сделать кнопки, такие как:

<button *ngFor="let item in Array" ...> item </button> 

Как извлечь данные, которые я хочу (Model [х] .Years [у] .style [г] .submodel.body) (где х, у , z - переменные) из моего json-ответа?

У меня возникли проблемы с концептуализацией, как итерации через вложенные объекты json с помощью JS/TS/Angular2.

+0

Звучит хорошо. У вас есть вопрос? См. [Ask]. – jonrsharpe

+0

SO - это не служба написания кода. Если вы хотите «сделать это реальностью», тогда вам нужно написать код ... Попробуйте сначала, если вы застряли, вернитесь со своей конкретной проблемой (и деталями). – Igor

+0

@igor, как мне извлечь эти данные из моего ответа json? – Moshe

ответ

1

Вот подсказка:

<div *ngFor="let years of model.years"> 
<div *ngFor="let year of years"> 
    <div *ngFor="let styles of year.styles"> 
    <div *ngFor="let style of styles"> 
    <!-- your conditions, submodel.body... --> 
    </div> 
    </div> 
</div> 
</div> 

Примечание стороны: я согласен с другими выше, вы должны попытаться написать свой код самостоятельно.

+0

вместо того, чтобы пытаться отобразить эти данные, я пытаюсь извлечь все значения subodel.body с помощью функции в моем компоненте, которая отфильтровывает дубликаты. – Moshe

0

Используйте простой запрос http, он будет загружать данные и хранить их внутри переменной items. Затем вы можете делать все, что хотите, - отображать, сортировать или просто держать.

https://plnkr.co/edit/bU7W6f0aO6eelvyCnKzc?p=preview

+0

Я делаю это так: 'getModels(): пустота { this._EdmundsAPIService.getModels (this.route.snapshot.params [ 'данные']) .subscribe ( модели => this.models = модель, ошибки => this.errorMessage = ошибки) ; } ' но когда я ' ngAfterContentInit() { для (пусть я = 0; г Moshe

+0

Не должно быть' this.models [0] '? В любом случае, используйте мой метод, на самом деле это лучший способ сделать это. –

Смежные вопросы