1

我正在尝试通过 JSON API 阅读 Tumblr 帖子。

使用他们的 API,数据像这样传回:

var tumblr_api_read= {
 "posts":[
   "id":"1234",
   "regular-title":"This is the title of the post",
   "regular-body":"This is the body of the post"
 ]
}

我无法返回“常规标题”和“常规正文”。

我的 JS 代码如下所示:

var tumblr= tumblr_api_read['posts'];
for (eachPost in tumblr)
{
 var id=posts[eachPost].id; //Works fine
 var regularTitle=posts[eachPost].regular-title; //Returns NaN
}

我假设这是因为 posts[eachPost].regular-title 里面有破折号,但我找不到任何关于如何使它在这种情况下工作的文档!

谢谢。

4

2 回答 2

5

javascript 变量名不能包含-您的示例中的特殊字符。如果您有一个名称中包含特殊字符的属性,则访问它的唯一方法是使用[]您用来访问上述posts对象的方法,该方法为您提供了将属性名称作为字符串传递的选项。

var regularTitle = posts[eachPost]['regular-title'];
于 2011-02-18T18:37:01.353 回答
1

更详细地说,您实际上是regular-title在引用点符号,就像它是一个对象一样。但它实际上是一个数组,这就是为什么即使属性值没有上面提到的破折号它也不起作用的原因。

于 2013-05-18T01:06:35.757 回答