2017-01-11 11 views
-3

あなたが、私はXXLのオプションをクリックしたとき、あなたは 'SellProps' からそれを見つけることができ、IDを画像を確認することができ、このjsonを使用して結果を取得するにはどうすればよいですか?

{ 
"SkuProduct": [ 
    { 
     "ProductId": 2547, 
     "ProductName": "T-shirt", 
     "SalePrice": 0.03, 
     "SkuProps": [ 
      { 
       "PropValueId": 30, 
       "PropCode": "body_type_cn" 
      }, 
      { 
       "PropValueId": 16, 
       "PropCode": "color_cn" 
      }, 
      { 
       "PropValueId": 20, 
       "PropCode": "size_cn" 
      } 
     ] 
    }, 
    { 
     "ProductId": 2553, 
     "ProductName": "T-shirt", 
     "SalePrice": 0.05, 
     "SkuProps": [ 
      { 
       "PropValueId": 31, 
       "PropCode": "body_type_cn" 
      }, 
      { 
       "PropValueId": 16, 
       "PropCode": "color_cn" 
      }, 
      { 
       "PropValueId": 20, 
       "PropCode": "size_cn" 
      } 
     ] 
    }, 
    { 
     "ProductId": 2559, 
     "ProductName": "T-shirt", 
     "SalePrice": 0.07, 
     "SkuProps": [ 
      { 
       "PropValueId": 30, 
       "PropCode": "body_type_cn" 
      }, 
      { 
       "PropValueId": 16, 
       "PropCode": "color_cn" 
      }, 
      { 
       "PropValueId": 20, 
       "PropCode": "size_cn" 
      } 
     ] 
    }, 
    { 
     "ProductId": 2563, 
     "ProductName": "T-shirt", 
     "SalePrice": 0.08, 
     "SkuProps": [ 
      { 
       "PropValueId": 31, 
       "PropCode": "body_type_cn" 
      }, 
      { 
       "PropValueId": 16, 
       "PropCode": "color_cn" 
      }, 
      { 
       "PropValueId": 23, 
       "PropCode": "size_cn" 
      } 
     ] 
    }, 
    { 
     "ProductId": 2565, 
     "ProductName": "T-shirt", 
     "SalePrice": 0.09, 
     "SkuProps": [ 
      { 
       "PropValueId": 31, 
       "PropCode": "body_type_cn" 
      }, 
      { 
       "PropValueId": 16, 
       "PropCode": "color_cn" 
      }, 
      { 
       "PropValueId": 20, 
       "PropCode": "size_cn" 
      } 
     ] 
    } 
], 
"SellProps": [ 
    { 
     "PropCode": "color_cn", 
     "PropName": "Color", 
     "Props": [ 
      { 
       "Id": 16, 
       "PName": "Red" 
      } 
     ] 
    }, 
    { 
     "PropCode": "size_cn", 
     "PropName": "Size", 
     "Props": [ 
      { 
       "Id": 20, 
       "PName": "M" 
      }, 
      { 
       "Id": 23, 
       "PName": "XXL" 
      } 
     ] 
    }, 
    { 
     "PropCode": "body_type_cn", 
     "PropName": "Type", 
     "Props": [ 
      { 
       "Id": 30, 
       "PName": "165/80A" 
      }, 
      { 
       "Id": 31, 
       "PName": "170/84A" 
      } 
     ] 
    } 
] 

}

enter image description here

のようなJSONがあります23、私は 'SkuProduct'からフィルタリングするIDを使用する必要があります SkuProductからSkuPropsをループする必要があります。PropCodeの名前 'size_cn'を確認するには、ご覧のとおり、PropValueIdに一致するものはありません。すべて20のサイズ 'M'なので、残りのオプションは無視してください。 私はわかりませんが、私は非常に明確に記述しています..

オプションをクリックするたびにチェックする簡単な方法がありますか、どのオプションを無効にするべきかを知ることができます。自分のProductId ..?私は関数にループを書いたが、関数内に余りにも多くのループがある。そのバグ..

+0

[JSONのJavaScript解析?](http://stackoverflow.com/questions/4935632/parse-json-in-javascript) – ppasler

答えて

0

私は(未テストの)アイディアを持っていると思う。

すでにXXL番号(23)を持っているので、あなたがこのような何かを行うには、この値を使用することができますし、どちらか、これは配列を返します

SkuProduct.map(function(product) { 
    return {product: product, filter: value.SkuProps.filter(function(prop) { 
    return prop.PropValueId = sizeId; 
    })}; 
}); 

、製品を持つオブジェクトの内側にありSkuPropオブジェクト(サイズが製品の小道具にある場合)、または何もありません。それを使って遊んで、それがうまくいくかどうか、あるいは少なくとも正しい道を選んだことを教えてください。

幸運を祈る!

関連する問題