2013-10-06 31 views
1

我从一个PHP脚本中获得这个JSON,而且我目前正在使用该代码。我想要做的是为每个对象,将响应插入到div中。解析这个JSON并为每个对象创建一个新的div

例如,我想将“句子”插入到div id =“句子”中,并将标题插入到div id =“title”中,并且我想为每个新响应添加一个新的标题。

关于如何进行的任何提示?

<script type="text/javascript"> 
$(document).ready(function() { 
    console.log("warming up..."); 
    $.getJSON("response.php", function(data) { 
     console.log("got JSON"); 
     for (var i = 0; i < data.length; i++) { 
     var obj = data[i]; 
     console.log(obj.title); 
     } 
    }); 
});  
</script> 

这里是JSON响应:

{ "sentences" : [ "The big irony behind the scorched-earth Republican offensive against President Obama’s health-care law is that its expansion of coverage to the uninsured would benefit House districts represented by Republicans nearly as much as those represented by Democrats.", 
     "Regardless of what other provisions they consider harmful, that posture unavoidably means House Republicans are seeking to “protect” a surprisingly large number of their constituents from the right to obtain health insurance with federal assistance.", 
     "Recently released census data show that, on average, the share of residents without insurance is almost as high in districts represented by House Republicans as in those represented by Democrats.", 
     "Slightly more Republicans (107) than Democrats (99) represent districts where the uninsured percentage is above the national average.", 
     "Massachusetts has the lowest percentage of uninsured due to its state-run health insurance, which has been in place since 2006." 
    ], 
    "summaryId" : "W76Z7a", 
    "title" : "Where Are the Uninsured Americans Who Will Benefit From Obamacare?" 
} 

回答

3

尝试$.each()因为data不是数组,它是一个对象。

$(document).ready(function() { 
    console.log("warming up..."); 
    $.getJSON("response.php", function (data) { 
     console.log("got JSON"); 

     $.each(data, function (key, obj) { 
      console.log(key, obj) 
      $('<div />', { 
       id: key, 
       text: obj 
      }).appendTo('body') 
     }); 
    }); 
}); 
+0

啊,哦,这是有道理的。非常感谢您的回答! – user2656127

相关问题