Чтобы быть действительным, вашему JSON необходимо внести следующие изменения ( вы всегда можете проверить правильность с помощью JSONLint здесь ):
- Запятые между объектами в основном массиве
- Нет конечных команд в
Readings
массивах - Двойные кавычки вокруг имен членов
:
между Readings
и его значением
Над всем этимдолжно выглядеть так:
[{"lakeName":"Lake 1","lakeCode":"111","Readings":[["24-Oct-10",12.5],["24-Oct-10",10.5],["24-Oct-10",15.5] ]},{"lakeName":"Lake 2","lakeCode":"222","Readings":[["24-Oct-10",12.5],["24-Oct-10",10.5],["24-Oct-10",15.5] ]}]
//compared to your current version:
[{ lakeName :"Lake 1", lakeCode :"111", Readings [["24-Oct-10",12.5],["24-Oct-10",10.5],["24-Oct-10",15.5],]} { lakeName :"Lake 2", lakeCode :"222", Readings [["24-Oct-10",12.5],["24-Oct-10",10.5],["24-Oct-10",15.5],]}]
Кроме того, вместо этого вы должны использовать $.each()
, например:
$.each(data, function () {
$('#myList').append("<li>" + "<a href=\"javascript:GetLake(" + this.lakeCode + ");\">" + this.lakeName + "</a></li>");
});
Или немного лучше, используйте DOMметоды, подобные этому:
$.each(data, function () {
$('<a />', { href: '#', click: function() { GetLake(this.lakeCode); } })
.wrap('<li />').parent().appendTo('#myList');
});