411 votos

¿Cómo iterar sobre una estructura JSON?

Tengo la siguiente estructura JSON:

[{ "id":"10", "class": "child-of-9" }, { "id": "11", "classd": "child-of-10" }]

¿Cómo puedo recorrer usando jQuery o JavaScript?

456voto

Your Friend Ken Puntos 2615
 var arr = [ {"id":"10", "class": "child-of-9"}, {"id":"11", "classd": "child-of-10"}];

    for(var i=0;i<arr.length;i++){
        var obj = arr[i];
        for(var key in obj){
            var attrName = key;
            var attrValue = obj[key];
        }
    }

nota: el método es genial para objetos simples. No es muy inteligente para su uso con el objeto DOM.

386voto

Marquis Wang Puntos 4327

Tomado de jQuery docs (http://docs.jquery.com/Utilities/jQuery.each):

var arr = [ "one", "two", "three", "four", "five" ];
var obj = { one:1, two:2, three:3, four:4, five:5 };

jQuery.each(arr, function() {
  $("#" + this).text("My id is " + this + ".");
  return (this != "four"); // will stop running to skip "five"
});

jQuery.each(obj, function(i, val) {
  $("#" + i).append(document.createTextNode(" - " + val));
});

71voto

El uso de foreach:

<html>
<body>
<script type="text/javascript">
var mycars = [{name:'Susita'}, {name:'BMW'}];
for (i in mycars)
{
  document.write(mycars[i].name + "<br />");
}
</script>
</body>
</html>

El resultado será:

Susita
BMW

50voto

abdulbasit Puntos 246
   Please let me know if it is not easy:

    var jsonObject = {
        name: 'Amit Kumar',
        Age: '27'
    };
    for (var prop in jsonObject) {
        //it will alert the property of object
        alert(prop);
        //it will alert the value of property
        alert(jsonObject[prop]);
    }

37voto

Swapnil Godambe Puntos 816

Esta es tu dataArray
[{"id":28,"class":"Sweden"}, {"id":56,"class":"USA"}, {"id":89,"class":"England"}]

Entonces,

$(jQuery.parseJSON(JSON.stringify(dataArray))).each(function() {  
         var ID = this.id;
         var CLASS = this.class;
});

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X