如何从Json文件获取值内部值

时间:2016-06-16 08:12:01

标签: javascript php jquery json

我想通过JS检索值内的json值。 这是我的代码:

var out_show = null;

$.ajax({
    url: 'http://milnomedia.net/menudoc.js',
    type: 'POST',
    dataType: 'json',
    cache: false,
    success: function(data) {

        var div_data='';
        $.each(data, function(index, element) {
            div_data +="<div><a href=''>"+data.menu.sub.menu[index].name+"</a></div>";
        });


        $('.doc-menu-one').html(div_data);

        out_show = div_data;
    }
});

$('.doc-menu-one').fadeOut(300, function(){
        $('.doc-menu-one').fadeIn(400);
    });

     var code = $('.doc-menu-one').html(out_show);

})

我究竟想要什么。你能在第二部分看到“名字”:文献。 我想从那个部分读取并获得子菜单值。

你能告诉我如何获得这些价值观吗? 感谢您的时间和意见。 非常感谢你!

2 个答案:

答案 0 :(得分:0)

尝试这样可能会有所帮助。

   $(data).each(function(e,v){
        $(v.menu).each(function(index, element) {
           // console.log(element);
            $(element).each(function(f, element_value) {
                    console.log(element_value);
                    if(element_value.name == "Documentry")
                    {
                        $(element_value.sub.menu).each(function(a, element_menu_data) {

                            console.log(element_menu_data);

                            $(element_menu_data.cat).each(function(c, element_menu_cat_data) {

                                  console.log(element_menu_cat_data);
                            });
                        });
                    }
            });

        });
});

你必须首先评估数据的每个循环,然后从每个循环中你需要为json中的内部数组进行另外的操作

答案 1 :(得分:0)

您可以尝试这样:

$.ajax({
    url: 'http://milnomedia.net/menudoc.js',
    type: 'POST',
    dataType: 'json',
    cache: false,
    success: function(data) {
        var div_data = '';
            $.each(data, function (i, item) {
                $.each(item, function (j,subitem) {
                    if (subitem.name == "Documentry") {
                        for (var k in subitem.sub.menu) {

                            div_data += "<div><a href=''>" + subitem.sub.menu[k].name + "</a></div>";
                        }
                    }
                });
            });
            console.log(div_data);
   }
});