Используйте jQuery.parseJSON
для анализа строки JSON с помощью jQuery:
var json = "[{'City':'Lucknow','ID':'1'},{'City':'Mumbai','ID':'2'}]";
$.each(jQuery.parseJSON(json), function() {
alert(this['City']);
});
Преимущество jQuery.parseJSON
состоит в том, что он использует собственную реализацию JSON.parse
браузера, если поддерживает его.
Редактировать Проблема в том, что это не работает, возможно, в том, что JSON позволяет объявлять строки только в двойных кавычках. Соответствующая выдержка из спецификации JSON :
string = quotation-mark *char quotation-mark
char = unescaped /
escape (
%x22 / ; " quotation mark U+0022
%x5C / ; \ reverse solidus U+005C
%x2F / ; / solidus U+002F
%x62 / ; b backspace U+0008
%x66 / ; f form feed U+000C
%x6E / ; n line feed U+000A
%x72 / ; r carriage return U+000D
%x74 / ; t tab U+0009
%x75 4HEXDIG ) ; uXXXX U+XXXX
escape = %x5C ; \
quotation-mark = %x22 ; "
unescaped = %x20-21 / %x23-5B / %x5D-10FFFF
Так должно работать следующее:
var json = '[{"City":"Lucknow","ID":"1"},{"City":"Mumbai","ID":"2"}]';