jquery读取嵌套的json

wmi*_*ell 10 jquery json nested

我有以下json,如下所示.我正在尝试读取值TOP1,TOP2.我有点不确定如何做到这一点.

我正在使用以下..但这只是让我得到一个具有TOP1和TOP2嵌套对象的对象.如何获得TOP1和TOP2的值?

$.getJSON('http://localhost/data/menufixed.json',
    function(data) {            
        $.each(data, function(entryIndex, entry) {
            var html = '<li class="top-level">';

        });
    });
Run Code Online (Sandbox Code Playgroud)

以下数据

{
"actions" : [
    {
        "action": "TOP1",
        "subaction": [
            {
                "name": "A" 
            },
            {
                "name": "B" 
            },
            {
                "name": "C" 
            } 
        ] 
    },
    {
        "action": "TOP2",
        "subaction": [
            {
                "name": "X" 
            },
            {
                "name": "Y" 
            } 
        ] 
Run Code Online (Sandbox Code Playgroud)

Nic*_*ver 11

看起来你想循环.actions,所以改变这个:

$.each(data, function(entryIndex, entry) {
  var html = '<li class="top-level">';
});
Run Code Online (Sandbox Code Playgroud)

对此:

$.each(data.actions, function(entryIndex, entry) {
  var html = '<li class="top-level">' + this.action + '</li>';
});
Run Code Online (Sandbox Code Playgroud)

使用data.actions您现在循环遍历该对象数组,并且这些对象是具有该.action属性的对象,例如:"TOP1""TOP2".

  • @imerez - *在*上面的`$ .each()`回调中,你会做`$ .each(this.subaction,function(){alert(this.name);});`,这会给你一个,B,C等 - 在这里测试一下:http://www.jsfiddle.net/nick_craver/mHvvA/2/ (4认同)