Durchsuchen und Lesen von JSON mit jQuery - for und $.each

Gehen wir dieses einfache Beispiel von jQuery durch, um ein Array von JavaScript-Objekten zu durchsuchen.

var json = [
{"id":"1","text":"paris"},
{"id":"2","text":"marseille"},
{"id":"3", "text":"Lille"},
{"id":"4","text":"Metz"},
{"id":"5","text":"renne"}
];

$.each(json, function(i, obj) {
alert(obj.text);
});
Die Ausführung dieses Beispiels läuft korrekt und die Städte werden in einer Warnbox angezeigt. Ein häufiges Problem bei der Deklaration einer JSON-Zeichenfolge mit einfachen oder doppelten Anführungszeichen.

var json = '[{"id":"1","city":"paris"},{"id":"2","city":"marseille"},
{"id":"3","city":"lille"},{"id":"4","city":"metz"},
{"id":"5","city": "Rentier"}]';

$.each(json, function(i, obj) {
alert(obj.city);
});
Chrome-Browser zeigt diesen Fehler in der Konsole an:

Uncaught TypeError: Cannot use 'in' operator to search for ... 
in [{"id":"1","ville":"paris"}...
Die ideale Lösung besteht darin, JSON mit der Funktion JSON.parse() oder der jQuery-Funktion $.parseJSON.

$.each(JSON.parse(json), function(i, obj) {
alert(obj.ville);
});

//ou

$.each($.parseJSON(json), function(i, obj) {
alert(obj.city);
});

JSON-Beispiel und die JavaScript-Schleife for

Das folgende Beispiel zeigt, wie Sie ein JSON-Objekt mit dem JavaScript for loop.

 

< Kopf>
< meta charset="utf-8">
< Titel> Beispiel für die JavaScript-for- und JSON-Schleife
< script src="https://code.jquery.com/jquery-1.10.2.js">

< Körper>

< Skript>
$(function() {

var data = [
{"id":"1","name":"Eins"},
{"id":"2","name":"Zwei"},
{"id":"3","name":"Drei"},
{"id":"4","name":"Vier"},
{"id":"5","name":"Fünf"}
];

var data_length = data.length;
for (var i = 0; i < data_length; i++) {
alert(data[i]["id"] + " " + data[i]["name"]);
}
});



Resources:
jQuery each() method
So iterieren Sie JSON-Daten in jquery