2017-03-19 17 views
0

私は馬鹿に執着していると思う。私はこの数時間前から行ってきましたが、それを理解することはできませんでした。確かに、私はng/ionic2の新人です。 私の投稿要求からの応答をループしようとしています。私は自分自身のWeb APIから有効な(検証済みのオンライン)大きなJSONオブジェクトを取得しています。それは次のようになります。イオン2のポストリクエストから配列のjsonオブジェクトを反復する

私はこのような個々の "詳細" と "属性" にアクセスすることができる午前
`"details": [{ 
      "item_ID": "4", 
      "item_attribute_ID": "JiggyJamband_1_642", 
      "item_color_bool": "false", 
      "item_name": "Test Item 4", 
      "item_price": "18.95", 
      "item_desc": "4 This is a test of the ajax input", 
      "item_gender": "Girls" 
     }, 
    { ... }, 
    "attributes": { 
      "JiggyJamband_1_642": [{ 
       "color": "no-color", 
       "Xs": "80", 
       "Sm": "0", 
       "Med": "0", 
       "Lrg": "0", 
       "Xl": "0", 
       "Xxl": "10" 
      }], 
      "JiggyJamband_5_5664": [{ 
       "color": "no-color", 
       "Xs": "0", 
       "Sm": "0", 
       "Med": "0", 
       "Lrg": "0", 
       "Xl": "0", 
       "Xxl": "50" 
      }], 
    { ... }` 

this.itemsDataService.getRemoteData(urlCode) 
    .subscribe(response => { 
     this.itemsJson = response; 
      this.dObj = this.boothItemsJson.details; 
      //this.aObj = this.boothItemsJson.attributes; 
      this.aObj = response["attributes"]["JiggyJamband_1_642"]; 
}); 

私のプロバイダは次のようになります。

getRemoteData(urlCode): any { 
    return this.http.post('http://localhost/process-fe-app/_itemJson.php', JSON.stringify(urlCode)) 
       .map(res => res.json()); } 

マイ質問:の項目は動的であり、属性の少なくとも1つの項目に関連するitem-attribute_IDを持っています。属性のエントリも動的です。各アイテムは複数の属性を持つことができます。個々の属性の配列キーは静的(サイズと色)であり、値を持つか持たないかのどちらかです。私は配列の属性オブジェクト(aObj)とその内部の配列をループすることができる必要があります。このデータは直接表示されないため、ngForまたはngIf文は必要ありません。 jsonデータは返されますが、データに基づいてメソッドにアクセスできるようにする必要があります(属性IDをキーとしてストレージに格納するなど、JiggyJamband:color:no-color、xs:50、 S:100 ...など」私が試した何

このチュートリアルhttps://www.youtube.com/watch?v=0kHJgw6Li_4、と私は考えることができ、この問題の文言のこれまでグーグル反復

答えて

0

おそらく、このサンプルの繰り返しがお手伝いします

this.itemsDataService.getRemoteData(urlCode) 
    .subscribe(response => { 
      for(var k in response){ 
       for(var k2 in response[k]){ 
        console.log([k,k2,response[k][k2]]); 
       } 
      } 
}); 
+0

@ kpie - manは、きれいで清潔な答えに感謝しています。明らかです。 D'oh! – detourOfReason

+0

あなたがする方法を知っていることは、あなたが最初にやるのが一番難しいです:) – kpie

関連する問題