JSON.Parsen array-Objekt
Server gibt das array-Objekt in JSON. Es sieht so aus:
{"d":"[
{\"Id\":1,\"IsGood\":true,\"name1\":\"name1dsres\",\"Name2\":\"name2fdsfd\",\"name3\": \"name3fdsgfd\",\"wasBorn\":\"\\/Date(284011000000)\\/\"},
{\"Id\":2,\"IsGood\":false,\"name1\":\"fdsfds\",\"name2\":\"gfd3im543\",\"name3\":\"3543gfdgfd\",\"WasBorned\":\"\\/Date(281486800000)\\/\"}
]"}
Brauche ich zum Parsen der JSON.der parse-Funktion. Ich mache dies so:
function myFunction(dataFromServer){
var parsedJSON = JSON.parse(dataFromServer.d);
for (var item in parsedJSON.d) {
//how do I get the fields of current item?
}
Dieser code funktioniert nicht, es gibt Sie undefined zurück
for (var item in parsedJSON) {
alert(item.Id);
}
- und was ist deine Frage ??
- Vorausgesetzt
dataFromServer
enthält die Daten, die Sie geschrieben und Sie schon analysiert, dannparsedJSON
ist bereits ein array ist, muss es nicht eine Eigenschaftd
. Wenn Sie wissen wollen, wie der Zugriff auf Eigenschaften von Objekten, haben Sie einen Blick auf developer.mozilla.org/en/JavaScript/Guide/Working_with_Objects - Bezüglich update: Das ist nicht, wie Sie iterieren über arrays. Haben Sie einen Blick auf den folgenden link, um zu verstehen
for...in
: developer.mozilla.org/en/JavaScript/Reference/Statements/... . Verwenden Sie eine normalefor
- Schleife für die Iteration über das array.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Diese funktioniert perfekt
Aber das doens nicht
for - in
Konstrukt zur Iteration über Objekt-Eigenschaften, nicht über array-Elemente (wie Sie möglicherweise in PHP oder Python). JS braucht eine inkrementelle for-Schleife zum Durchlaufen von arrays.for( index in array ){ var value = array[index]; }
Können Sie einfach auf Sie zugreifen, als würden Sie ein beliebiges Objekt:
Wollen Sie aufzählen, Sie zu verwenden, irgendwie haben Sie einen Blick auf diese Frage ALSO.
Können Sie auf Sie zugreifen, wie Sie tun, oridinary javascript-Objekte,
das ist entweder als
item.id
oderitem['id']