Jquery 对更复杂的JSON数据使用$each

Jquery 对更复杂的JSON数据使用$each,jquery,Jquery,我了解如何使用$。每个遍历JSON数据,如下所示: { "one": "Singular sensation", "two": "Beady little eyes", "three": "Little birds pitch by my doorstep" } { "d": [ { "__type": "Tab", "id": 1, "name": "Innovation"

我了解如何使用
$。每个
遍历JSON数据,如下所示:

{
    "one": "Singular sensation",
    "two": "Beady little eyes",
    "three": "Little birds pitch by my doorstep"
}
{
    "d": [
        {
            "__type": "Tab",
            "id": 1,
            "name": "Innovation",
            "ordering": 0
        },
        {
            "__type": "Tab",
            "id": 3,
            "name": "Thought",
            "ordering": 0
        },
        {
            "__type": "Tab",
            "id": 0,
            "name": "Collaboration",
            "ordering": 0
        }
    ]
}
data = {
    "d": [
        {
            "__type": "Tab",
            "id": 1,
            "name": "Innovation",
            "ordering": 0
        },
        {
            "__type": "Tab",
            "id": 3,
            "name": "Thought",
            "ordering": 0
        },
        {
            "__type": "Tab",
            "id": 0,
            "name": "Collaboration",
            "ordering": 0
        }
    ]
}

$.each(data.d, function(key, val) {
    $('#data').append('id: ' + val.id + ', name: ' + val.name + '<br />');
});
例如:

$.each(data, function(key, val) {
    echo '<div>' + val + '-' + key + '</div>';
});
我想以同样的方式使用
id
名称的位置

$.each(data, function(key, val) {
    $.each(val, function(index, val2){
      console.log(val2.name);
    });
});
使用以下命令:

var complex_data = {
    "d": [
        {
            "__type": "Tab",
            "id": 1,
            "name": "Innovation",
            "ordering": 0
        },
         ...
    ]
}

//Use:
$.each(complex_data.d, function(i, val){
    //The following properties can be used in your code:
    val.id;
    val.name;
    //And also: val.__type, val.ordering
});
如果您的
complex_数据
包含更多键,如
d
,请使用:

$.each(complex_data, function(i, val){
    $.each(val, function(j, val){
        //The following properties can be used in your code:
        val.id;
        val.name;
        //Also: val.__type, val.ordering
    });
});
$.each(data.d,function(index,val){
回显'+val.id+'-'+val.name+'';
});

这段代码非常特定于您的示例,因此可能需要进行一些调整,但您可以这样做:

{
    "one": "Singular sensation",
    "two": "Beady little eyes",
    "three": "Little birds pitch by my doorstep"
}
{
    "d": [
        {
            "__type": "Tab",
            "id": 1,
            "name": "Innovation",
            "ordering": 0
        },
        {
            "__type": "Tab",
            "id": 3,
            "name": "Thought",
            "ordering": 0
        },
        {
            "__type": "Tab",
            "id": 0,
            "name": "Collaboration",
            "ordering": 0
        }
    ]
}
data = {
    "d": [
        {
            "__type": "Tab",
            "id": 1,
            "name": "Innovation",
            "ordering": 0
        },
        {
            "__type": "Tab",
            "id": 3,
            "name": "Thought",
            "ordering": 0
        },
        {
            "__type": "Tab",
            "id": 0,
            "name": "Collaboration",
            "ordering": 0
        }
    ]
}

$.each(data.d, function(key, val) {
    $('#data').append('id: ' + val.id + ', name: ' + val.name + '<br />');
});
数据={
“d”:[
{
“_类型”:“选项卡”,
“id”:1,
“名称”:“创新”,
“排序”:0
},
{
“_类型”:“选项卡”,
“id”:3,
“名字”:“思想”,
“排序”:0
},
{
“_类型”:“选项卡”,
“id”:0,
“名称”:“协作”,
“排序”:0
}
]
}
$.each(data.d、function(key、val){
$('#data').append('id:'+val.id+',name:'+val.name+'
'); });

echo
?您在JavaScript上使用JQuery吗?