Javascript - возникли проблемы с синтаксическим анализом объекта json

У меня проблемы с синтаксическим анализом объекта JSON,

это мой код

var k = '[{"image:loc":["https://cdn.shopify.com/s/files/1/0094/2252/products/YZY-KW3027.053.jpg?v=1539344090"],"image:title":["Yeezy WMNS Tubular Boot Washed Canvas - Limestone"]}]'
var kP = JSON.parse(k);

console.log(kP);

Но когда я все же пытаюсь разобрать «image: loc» или «image: title» вот так: console.log(kP['image:loc']); он возвращает undefined.

В массиве только одно изображение или их может быть больше одного?

Sudhir Ojha 31.10.2018 11:57
0
1
50
2

Ответы 2

Поскольку kP - это массив, для доступа к любому свойству из него вы должны использовать правильный показатель:

var k = '[{"image:loc":["https://cdn.shopify.com/s/files/1/0094/2252/products/YZY-KW3027.053.jpg?v=1539344090"],"image:title":["Yeezy WMNS Tubular Boot Washed Canvas - Limestone"]}]'
var kP = JSON.parse(k);

console.log(kP);
console.log(kP[0]['image:loc']);

@BobJensen, пожалуйста :)

Mamun 31.10.2018 11:56

console.log(kP['image:loc']); не работает, поскольку kP - это массив. Вам нужно настроить таргетинг на первый индекс массива, чтобы настроить таргетинг на ваш объект следующим образом:

var k = '[{"image:loc":["https://cdn.shopify.com/s/files/1/0094/2252/products/YZY-KW3027.053.jpg?v=1539344090"],"image:title":["Yeezy WMNS Tubular Boot Washed Canvas - Limestone"]}]'
var kP = JSON.parse(k);

console.log(kP[0]['image:loc']);

Другие вопросы по теме