Utilisez jQuery.parseJSON
pour analyser la chaîne JSON avec jQuery:
var json = "[{'City':'Lucknow','ID':'1'},{'City':'Mumbai','ID':'2'}]";
$.each(jQuery.parseJSON(json), function() {
alert(this['City']);
});
L'avantage de jQuery.parseJSON
est qu'il utilise l'implémentation native JSON.parse
du navigateur s'il le supporte.
Modifier Le problème que cela ne fonctionne pas est sans doute que JSON ne permet que des chaînes à déclarer avec des guillemets doubles. Le correspondant excerpt from the JSON specification:
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
Ainsi, les éléments suivants doivent travailler:
var json = '[{"City":"Lucknow","ID":"1"},{"City":"Mumbai","ID":"2"}]';
Merci pour la réponse! Même cela ne fonctionne pas ... – Bala
@Bala: Oh, 'jQuery.parseJSON' a été ajouté en 1.4.1. Peut-être que votre version de jQuery ne le supporte pas. – Gumbo
J'utilise jquery 1.4.1 – Bala