Comment obtenir la clé de la valeur dans l'objet JSON?
Comment obtenir la clé de la valeur dans l'objet JSON et la longueur de l'objet à l'aide de JavaScript.
Par Exemple:
[
{
"amount": " 12185",
"job": "GAPA",
"month": "JANUARY",
"year": "2010"
},
{
"amount": "147421",
"job": "GAPA",
"month": "MAY",
"year": "2010"
},
{
"amount": "2347",
"job": "GAPA",
"month": "AUGUST",
"year": "2010"
}
]
Ici, la longueur de ce tableau est de 3. Pour obtenir la valeur est bien ([0].amount)
, dans l'index[0]
il dispose de 3 paire nom /valeur.
Donc, j'ai besoin de connaître le nom (comme la quantité de travail ou de... un total de quatre nom) et aussi de compter combien de noms sont là?
- Ce n'est pas JSON valide tant que les touches ne sont pas cités.
- voir cette question stackoverflow.com/questions/558981/...
- merci pour tout, compte tenu de vos réponses.
- utilisation
jQuery
etgetJSON
méthode.
Vous devez vous connecter pour publier un commentaire.
Tout d'abord, vous n'avez pas affaire à un "objet JSON." Vous êtes en relation avec un objet JavaScript. JSON est un textuelle la notation, mais si votre code d'exemple de travaux (
[0].amount
), vous avez déjà désérialisé que la notation dans un objet JavaScript graphique. (Ce que vous avez cité n'est pas JSON valide; dans JSON, les clés doivent être entre guillemets doubles. Ce que vous avez cité est un objet JavaScript littéral, qui est un sur-ensemble de JSON.)Non, c'est 3.
Si vous utilisez un environnement complet, qui a ECMAScript5 de soutien, vous pouvez utiliser
Object.keys
(spec | MDN) pour obtenir le énumérable clés pour l'un des objets comme un tableau. Si non (ou si vous voulez juste pour parcourir en boucle plutôt que d'obtenir un tableau d'entre eux), vous pouvez utiliserfor..in
:De travail complet exemple:
JS:
Puisque vous avez à traiter avec des objets bruts, le ci-dessus
for..in
boucle est très bien (sauf si quelqu'un a commis le péché de coucher avecObject.prototype
, mais supposons pas). Mais si l'objet que vous voulez que les touches peuvent également hériter des propriétés énumérables de son prototype, vous pouvez limiter la boucle pour que l'objet du propre touches (et pas les clés de son prototype) par l'ajout d'unhasOwnProperty
y:Object.prototype
, qu'ils ne pas.Json sont essentiellement représentés adjoint du tableau en Javascript. Juste besoin de faire une boucle sur eux pour lire la clé ou la valeur
Object.keys(JsonObj).length
FonctionneraVous pourriez avoir besoin:
Pour obtenir quelque chose comme:
Remarque: Votre JSON n'est pas valide.
TypeError: Object.keys is not a function
Essayer ce
Lorsque vous analyser la représentation JSON, il va devenir un JavaScript tableau d'objets.
À cause de cela, vous pouvez utiliser le
.length
de la propriété du tableau JavaScript pour voir comment de nombreux éléments sont contenus, et l'utilisation d'unfor
boucle d'énumérer il.Vous pouvez simplement parcourir à travers l'objet et le retour si trouvé le match, voici le code