2011-02-18 16 views
1

私はJSON API経由でTumblrの投稿を読もうとしています。彼らのAPIを使用してjavascriptを使用してJSONデータを取得する(Tumblrから)

、データは次のように戻って渡されます。

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つのために落ちやすいです。助けを借りて嬉しい:) –

1

それが目的であった場合、あなたが実際にあなたのように、ドット表記でregular-titleを考え参照されています。しかし、それは実際には配列なので、上記のようにプロパティ値にダッシュがなくても機能しません。

関連する問題