代码之家  ›  专栏  ›  技术社区  ›  wmitchell

jquery读取嵌套的json

  •  10
  • wmitchell  · 技术社区  · 14 年前

    我有以下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">';
    
            });
        });
    

    以及下面的数据

    {
    "actions" : [
        {
            "action": "TOP1",
            "subaction": [
                {
                    "name": "A" 
                },
                {
                    "name": "B" 
                },
                {
                    "name": "C" 
                } 
            ] 
        },
        {
            "action": "TOP2",
            "subaction": [
                {
                    "name": "X" 
                },
                {
                    "name": "Y" 
                } 
            ] 
    
    1 回复  |  直到 14 年前
        1
  •  11
  •   Nick Craver    14 年前

    看起来您想要循环 .actions ,请更改此项:

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

    为此:

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

    使用 data.actions 你现在在对象数组中循环,并且 那些 对象是具有 .action 属性,例如: "TOP1" "TOP2" .