Javascript Jquery与getJSON的问题

Javascript Jquery与getJSON的问题,javascript,jquery,json,Javascript,Jquery,Json,我的问题是javascript问题,我尝试用Jquery的$.getJson函数解析Json文件,当我将它们分别放在一个变量中时,我注意到它需要更多我认为的对象,这里的代码是JS: $.getJSON( url, function(data) { var content = '<h1>Applications</h1>'; content += '<ul>'; for (var pos in data){ var

我的问题是javascript问题,我尝试用Jquery的$.getJson函数解析Json文件,当我将它们分别放在一个变量中时,我注意到它需要更多我认为的对象,这里的代码是JS:

$.getJSON(
url,
function(data) {
   var content = '<h1>Applications</h1>';
   content += '<ul>';
       for (var pos in data){
           var app = data[pos];
           content += '<li>'+app.name+'</li>';
       }
   content += '</ul>';
   $('div.apps').html(content);
}
因此,在我的html页面中,我在globality中有6个对象,而不是3个。最后3个标记为“未定义”,但我只想要json文件中的标记,因为firefox不接受未定义的标记。

for(var i=0;i       for ( var i = 0; i < data.length; i++ ) {
           var app = data[ i ];
           content += '<li>'+app.name+'</li>';
       }
var app=数据[i]; content+='
  • '+app.name+'
  • '; }
    避免
    循环中的

    for (var pos in data){
    
    将其替换为通常的:

    for (var i=0; i<data.length; i++){ //use as data[i]
    

    for(var i=0;i更正JSON,开始标记太多了


    另外,请更正for循环。使用
    var count=0;count
    因为您使用的是jQuery,所以请使用其完美的
    $。每个
    函数

    $.each( data, function( d ) {
        content += '<li>' + d.name + '</li>';
    });
    
    $。每个(数据、函数(d){
    content+='
  • '+d.name+'
  • '; });
    JSON无效。缺少
    }
    用于
    登台
    。如果不是因为JSON无效,我猜可能与(数据中的var pos)的
    有关
    line。这可能也在迭代
    data
    的原型。请尝试将其记录到控制台。这总是有帮助的
    console.log(data)
    在chrome的内置开发工具中,或者设置断点并调试..你会马上发现问题!就像答案中提到的..避免使用for..in..例如,对于数组,它会添加长度参数..通常不是你想要的那样好吧,再次感谢,我会谨慎使用for..in,不要担心。
    $.each( data, function( d ) {
        content += '<li>' + d.name + '</li>';
    });