JSON.analyser pour tableau de l'objet
Serveur retourne un tableau d'objet en JSON. Il ressemble tellement:
{"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)\\/\"}
]"}
J'ai besoin d'analyser à l'aide de JSON.fonction d'analyse. Je fais cela de cette façon:
function myFunction(dataFromServer){
var parsedJSON = JSON.parse(dataFromServer.d);
for (var item in parsedJSON.d) {
//how do I get the fields of current item?
}
Ce code ne fonctionne pas, il retourne undefined
for (var item in parsedJSON) {
alert(item.Id);
}
et ce qui est de votre question ??
En supposant que
Concernant la mise à jour: ce n'est pas la façon dont vous itérer sur tous les tableaux. Jetez un oeil sur le lien suivant pour comprendre
En supposant que
dataFromServer
contient les données que vous avez posté et que vous avez déjà analysé, puis parsedJSON
est déjà un tableau, il n'est pas une propriété d
. Si vous voulez savoir comment accéder aux propriétés des objets, jetez un oeil à developer.mozilla.org/en/JavaScript/Guide/Working_with_ObjectsConcernant la mise à jour: ce n'est pas la façon dont vous itérer sur tous les tableaux. Jetez un oeil sur le lien suivant pour comprendre
for...in
: developer.mozilla.org/en/JavaScript/Reference/Statements/... . Utiliser une normale for
boucle pour parcourir le tableau.OriginalL'auteur | 2012-07-13
Vous devez vous connecter pour publier un commentaire.
Cela fonctionne parfaitement
Mais ça se complique pas
for - in
construire, c'est pour itérer sur les propriétés de l'objet, et non pas sur les éléments du tableau (comme on pourrait le faire en PHP ou Python). JS a besoin d'un financement d'appoint pour la boucle pour parcourir les tableaux.for( index in array ){ var value = array[index]; }
OriginalL'auteur
Vous pouvez accéder à eux comme vous le feriez pour n'importe quel objet:
Si vous le souhaitez de les énumérer à l'utilisation d'une certaine façon, avoir un regard sur cette SORTE de question.
OriginalL'auteur Rich O'Kelly
Vous pouvez y accéder comme vous le faites oridinary des objets javascript,
c'est comme
item.id
ouitem['id']
L'intérieur de la boucle( ce qui devrait être normal pour la boucle, pas pour chaque) ,où vous avez écrit votre question, vous obtenez l'objet et d'accéder simplement qu'il soit en utilisant la notation de point ou de l'accès à elle comme une carte. Mais comme @Rab Nawas remarqué la valeur de d n'est pas un tableau mais une chaîne de caractères d'un tableau. Cela signifie que vous avez à analyser dans un objet JSON avant d'accéder aux éléments dans le tableau.
OriginalL'auteur Eivind Eidheim Elseth