JSON плохо сформирован. Это должно быть примерно так:
{images: [{
"img": "img1.jpg",
"img": "img2.jpg",
"size": [52, 97]
},
{
"img": "img3.jpg",
"img": "img4.jpg",
"size": [52, 97]
}]
}
Вот почему у вас возникают проблемы при разборе.
Если у вас нет контроля над ним, но вы знаете, что он будет в подобной форме, вы можете использовать jQuery.ajax
и затем преобразовать его в действительный JSON с помощью какой-либо манипуляции со строками или чего-то еще. Возможно, это не идеал, но это единственное, что вы можете сделать, если у вас нет контроля над возвращаемым JSON.
Также обратите внимание, что у вас есть две клавиши с одинаковым именем. Это еще одна проблема.
Чтобы исправить это, вы, вероятно, хотите что-то вроде следующего:
{images: [{
"img1": "img1.jpg",
"img2": "img2.jpg",
"size": [52, 97]
},
{
"img3": "img3.jpg",
"img4": "img4.jpg",
"size": [52, 97]
}]
}
или
{images: [{
"img": ["img1.jpg", "img2.jpg"],
"size": [52, 97]
},
{
"img": ["img3.jpg", "img4.jpg"],
"size": [52, 97]
}]
}
Я думаю, что еще лучше было бы что-то вроде этого:
{images: [{
img: "img1.jpg",
size: [52, 97]
},
{
img: "img2.jpg",
size: [52, 97]
},
{
img: "img3.jpg",
size: [52, 97]
},
{
img: "img4.jpg",
size: [52, 97]
}]
}
Как я уже упоминал ранее, учитывая, что у вас нет контроля над JSON, вы мало что можете сделать. Я бы порекомендовал поговорить с администратором / разработчиком этого сайта, если можете. Им нужно сообщить, что они не возвращают действительный JSON.