2011-02-18 37 views
1

我想通過JSON API閱讀Tumblr的帖子。使用JavaScript獲取JSON數據(來自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 
} 

我假設這是因爲帖[eachPost] .regular標題中有破折號,但我無法找到如何使任何文件在這種情況下工作!

謝謝。

+0

'posts'是一個數組;不要使用'for ... in'來遍歷一個數組,使用'for(i = 0; i Martijn

回答

5

在您的示例中,javascript變量名稱不能包含像-這樣的特殊字符。如果您的名稱中包含特殊字符,請使用[]方法訪問上面的posts對象,該對象允許您選擇以字符串形式傳遞屬性名稱。

var regularTitle = posts[eachPost]['regular-title']; 
+0

我覺得這很容易。感謝您的快速響應。它工作完美。 :) – Matt

+0

當你開始使用javascript時很容易陷入這個問題。很高興有幫助:) –

1

爲了進一步詳細描述,你實際上是在點符號引用regular-title,喜歡你,如果它是一個對象。但它實際上是一個數組,因此即使屬性值沒有如上所述的破折號也不起作用。

相關問題