Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery-解析JSON数据-变量名有问题_Javascript_Jquery_Json_Api_Tumblr - Fatal编程技术网

Javascript jQuery-解析JSON数据-变量名有问题

Javascript jQuery-解析JSON数据-变量名有问题,javascript,jquery,json,api,tumblr,Javascript,Jquery,Json,Api,Tumblr,我第一次深入研究JSON数据。不过,我有一点使用jQuery的经验 我正在发布到这个URL(tumblrapi):jyoseph.com/api/read/json 我要做的是输出返回的json。到目前为止,我所拥有的: $(document).ready(function(){ $.getJSON("http://jyoseph.com/api/read/json?callback=?", function(data) { //console.log(data);

我第一次深入研究JSON数据。不过,我有一点使用jQuery的经验

我正在发布到这个URL(tumblrapi):jyoseph.com/api/read/json

我要做的是输出返回的json。到目前为止,我所拥有的:

$(document).ready(function(){ 

$.getJSON("http://jyoseph.com/api/read/json?callback=?", 
  function(data) { 
    //console.log(data); 
    console.log(data.posts);         

      $.each(data.posts, function(i,posts){ 
        var id = this.id; 
        var type = this.type; 
        var date = this.date; 
        var url = this.url; 
        var photo500 = this.photo-url-500; 

        $('ul').append('<li> ' +id+ ' - ' +type+ ' - ' +date+ ' - ' +url+ ' - ' +photo500+ ' - ' + ' </li>'); 
      }); 

  }); 

});
$(文档).ready(函数(){
$.getJSON(“http://jyoseph.com/api/read/json?callback=?", 
函数(数据){
//控制台日志(数据);
console.log(data.posts);
$.each(data.posts,function(i,posts){
var id=this.id;
var type=this.type;
var date=this.date;
var url=this.url;
var photo500=this.photo-url-500;
$('ul')。追加('
  • '+id+'-'+type+'-'+date+'-'+url+'-'+photo500+'-'+'
  • '); }); }); });
    有关整个脚本,请参见我的jsbin帖子:

    tumblr中的一些键中有“-”连字符,这似乎导致了一个问题。如您所见,“photo-url-500”或另一个“photo-caption”导致脚本中断,它正在输出NaN


    在关键字名称中使用连字符有问题吗?还是我完全弄错了?

    如果名称中有破折号,您需要以不同的方式访问它们。更改
    var photo500=this.photo-url-500读取
    var photo500=this[“photo-url-500”]

    使用访问成员:

    var photo500 = this['photo-url-500']; 
    

    请注意,最好不要在每次迭代中追加。最好附加到字符串或推送到数组,然后在迭代器完成后再附加一次。附加到dom很昂贵。

    感谢您提供的链接,非常有用,现在可以查看了。所以我应该在每次迭代中构建一个字符串,然后输出最终的字符串?这是个很好的建议,我没想过。谢谢