从外部文件获取json内容


Get json content from external file

我试图从外部文件(list.json)获得json内容,但所有尝试都失败了。我已经原型我的代码在Jsfiddle (http://jsfiddle.net/ctmvcyy1/)。

我认为解决办法很简单,但我肯定是做错了什么。

谢谢你的帮助!

    var json = {
    "lojas": [
        {
            "cidade": "New York",
            "uf": "RS",
            "unidades": [
                {
                    "nome": "Tribeca",
                    "logradouro": "Rua Ligula Amet, 30",
                },
                {
                    "nome": "Brooklyn",
                    "logradouro": "Av. Venenatis Dapibus, 200",
                }
            ]
        },
        {
            "cidade": "São Paulo",
            "uf": "SP",
            "unidades": [
                {
                    "nome": "Centro",
                    "logradouro": "Av. Purus Fusce, 1003",
                }
            ]
        },
        {
            "cidade": "Rio de Janeiro",
            "uf": "RJ",
            "unidades": [
                {
                    "nome": "Copacabana",
                    "logradouro": "Rua Malesuada, 120",
                }
            ]
        }
    ]
};
$.each(json.lojas, function (i, lojas) {
    var siglas = '<li><a href="#' + lojas.uf + '">' + lojas.cidade + '</a></li>';

    var cidades = '<ul id="' + lojas.uf + '"class="cidades">';
        $.each(lojas.unidades, function (i, unidades) {
            cidades += '<li><p>'+ unidades.nome + '</p><p>' + unidades.logradouro + '</p></li>'; 
        });
    cidades += '</ul>';
    $(siglas).appendTo('#lista-siglas');
    $(cidades).appendTo('#lista-cidades');
});

工作柱塞:http://plnkr.co/edit/d23lntczvQZMEfOXRPqW?p=preview

只是做:

$.getJSON("lojas.json", function (json){
    $.each(json.lojas, function (i, lojas) {
      var siglas = '<li><a href="#' + lojas.uf + '">' + lojas.cidade + '</a></li>';

      var cidades = '<ul id="' + lojas.uf + '"class="cidades">';
      $.each(lojas.unidades, function (i, unidades) {
        cidades += '<li><p>'+ unidades.nome + '</p><p>' + unidades.logradouro + '</p></li>'; 
      });
      cidades += '</ul>';
      $(siglas).appendTo('#lista-siglas');
      $(cidades).appendTo('#lista-cidades');
    });
  });

请注意,为了使其工作,您需要从json中删除多余的逗号。所以lojas。Json看起来像:

{
    "lojas": [
        {
            "cidade": "New York",
            "uf": "RS",
            "unidades": [
                {
                    "nome": "Tribeca",
                    "logradouro": "Rua Ligula Amet, 30"
                },
                {
                    "nome": "Brooklyn",
                    "logradouro": "Av. Venenatis Dapibus, 200"
                }
            ]
        },
        {
            "cidade": "São Paulo",
            "uf": "SP",
            "unidades": [
                {
                    "nome": "Centro",
                    "logradouro": "Av. Purus Fusce, 1003"
                }
            ]
        },
        {
            "cidade": "Rio de Janeiro",
            "uf": "RJ",
            "unidades": [
                {
                    "nome": "Copacabana",
                    "logradouro": "Rua Malesuada, 120"
                }
            ]
        }
    ]
}