user2244199
user2244199

Reputation: 39

How to parse below JSON

How to parse below JSON code in JavaScript where iterators are not identical?

var js= { 
    '7413_7765': { 
        availableColorIds: [ '100', '200' ],
        listPrice: '$69.00',
        marketingMessage: '',
        prdId: '7413_7765',
        prdName: 'DV by Dolce Vita Archer Sandal',
        rating: 0,
        salePrice: '$59.99',
        styleId: '7765' 
    },
    '0417_2898': { 
        availableColorIds: [ '249', '203' ],
        listPrice: '$24.95',
        marketingMessage: '',
        prdId: '0417_2898',
        prdName: 'AEO Embossed Flip-Flop',
        rating: 4.5,
        salePrice: '$19.99',
        styleId: '2898' 
    },
    prod6169041: { 
        availableColorIds: [ '001', '013', '800' ],
        listPrice: '$89.95',
        marketingMessage: '',
        prdId: 'prod6169041',
        prdName: 'Birkenstock Gizeh Sandal',
        rating: 5,
        salePrice: '$79.99',
        styleId: '7730' 
    } 
}

How can I parse this JSON in JavaScript? I want the values of prdName, listprice, salePrice in JavaScript?

Upvotes: 0

Views: 92

Answers (2)

Praveen
Praveen

Reputation: 56539

You have already assigned the JSON to an object js.

You're trying to loop through JavaScript object, as Edorka mentioned iterate it.

Upvotes: 0

Edorka
Edorka

Reputation: 1811

var products = js; // more semantic
for (productId in products){
   var product = products[productId];
   console.log (product.prdName , product.listprice, product.salePrice);
}

js is an Object, the for (key in instance) iteration moves through the first level object's attributes, in this case 7413_7765, 0417_2898 and prod6169041, this keys are stored in the var productId, so products[productId] will return the value of this attributes.

Note that the "" in object keynames are not necesary.

Upvotes: 2

Related Questions