2016-11-07 39 views
0

我有一个对象从服务器,我想阅读这在ionic2typescript我如何读离子2和角2中的物体?

我的问题:

我如何阅读对象为每个键获取自己的价值?

Example:

ionic列表与: 在这种情况下Header = key1 , key2 , key3value是每key

Header = key1 
items1 
items1 
items1 
Header2 = key2 
items2 
items2 
items2.. 

对象的values

{ 
    "status": "success", 
    "products": { 
     "Key1": [ 
      { 
       "entity_id": "448", 
       "sku": "587", 
       "name": "name", 
       "image_url": "587.png", 
       "price": "15,000", 
       "qty": 0, 
       "rating": 0, 
       "wishlist": false, 
       "specialprice": "7,500", 
       "brand": "brandname" 
      } 
     ], 
     "Key2": [ 
      { 
       "entity_id": "448", 
       "sku": "587", 
       "name": "name", 
       "image_url": "587.png", 
       "price": "15,000", 
       "qty": 0, 
       "rating": 0, 
       "wishlist": false, 
       "specialprice": "7,500", 
       "brand": "brandname" 
      } 
     ], 
     "Key3": [ 
      { 
       "entity_id": "448", 
       "sku": "587", 
       "name": "name", 
       "image_url": "587.png", 
       "price": "15,000", 
       "qty": 0, 
       "rating": 0, 
       "wishlist": false, 
       "specialprice": "7,500", 
       "brand": "brandname" 
      } 
     ], 
    } 
} 

回答

3

要打印"Key"阵列*ngFor循环,先写一个Pipes

Pipe.ts

import { Component,Pipe, PipeTransform, Injectable } from '@angular/core'; 

@Pipe({ 
    name: 'objectValues' 
}) 

@Injectable() 
export class ObjectValuesPipe implements PipeTransform { 
    transform(obj: any) { 
    let result = []; 
    for (var key in obj) { 
     if (obj.hasOwnProperty(key)) { 
     result.push(obj[key]); 
     } 
    } 
    return result; 
    } 
} 

不要忘记在@NgModule导入Pipes,比你可以使用这条管道喜欢这个。

<ul *ngFor="let item of items"> 
    <li *ngFor="let value of item | objectValues"> 
    {{ value }} 
    </li> 
</ul> 

基于:How to display json object using *ngFor and access key,value of object