0

我正在尝试通过 jquery 读取 json。但我在我的 html 中变得不确定。

下面是html jquery代码:

$(document).ready(function() {
                 $.getJSON('Json.json',function(data){
                    $('#output').empty();
                        $.each(data.general, function(entry){
                    var html = '<div class="general">';                    
                    html += '<span class="logo">' + entry['logo'] + '</span>';
                    html += '<span class="name">' + entry['name'] + '</span>';
                    html += '</div>';                                                       
                    $('#output').append(html);
                });                        
            });
            return false;
        });

下面是我的 JSON:

"general":{
      "logo":"assets/images/logo.png",
      "name" : "Company Name"
   }

JSON 通过 JSLint 进行验证。请告诉我哪里出错了。

谢谢!

我将我的代码更新为:

$(document).ready(function() {
                 $.getJSON('Json.json',function(data){
                    $('#output').empty();                       
                    var html = '<div class="general">';                    
                    html += '<h3>' + data.general.logo+ '</h3>';
                    html += '<div class="name">' + data.general.name+ '</div>';
                    html += '</div>';  
                    html +='<div class="navigation" >';                                                 
                    $('#output').append(html);                                     
            });
            return false;
        });

它现在正在工作!

4

1 回答 1

0

jsFiddle 演示

因此,每个循环中唯一应该是您要为地图中的每个条目重复的步骤;初始化html变量不应该在那里完成。然后,为了遍历关联数组中的条目,回调函数的参数是keyand value,根据我使用的变量名,很明显这些对应的内容是什么。

$(document).ready(function() {
    $.getJSON('Json.json',function(data){
        $('#output').empty();

        var html = '<div class="general">'; 
        $.each(data.general, function(key, val){
            html += '<span class="'+key+'">' + val + '</span>';
        });
        html += '</div>';                                                 
        $('#output').append(html);
    });
    //return false; Not sure why you had this...you don't need it
});
于 2012-11-10T06:20:50.063 回答