2016-11-07 5 views
0

Facebook APIのJSONオブジェクトに公開ページのすべての投稿があります。私はオブジェクトをつかみ、それを変数に割り当てるためにタイプスクリプトを使用しています。しかし、私はフィールドにアクセスする方法を把握することはできません。タイプスクリプトでJSONデータにどのようにアクセスしますか? https://graph.facebook.com/1650393515218783?fields=posts&access_token=EAAN3TCkzCxsBACdSQIu3KDiORivp0eEeQWNMBu1aT8TnEWYEqQhblcl4IZAykwIwDFF5v6LB8BYNyOXYWrRhE7ildN2lnXFqwpnv7Bzq3Kh2ZB5FZBAMxrbpNEX2znds1G86AurOZAD0R1W3ec1ZBhwr8LNZAZCyGjgtMGbiZA44XwZDZDJsonデータにtypescriptでアクセスする

はここに私の関数である:

getBadger() { 

    var link = 'https://graph.facebook.com/1650393515218783? fields=posts&access_token=EAAN3TCkzCxsBACdSQIu3KDiORivp0eEeQWNMBu1aT8TnEWYEqQhblcl4IZA$ 

    this.http.get(link).subscribe(data => { this.data = data; this.posts = JSON.parse(data._body); }); 

答えて

0

this.posts.data[0].messageは、あなたが戻った応答の最初の物語のメッセージを与える

は、ここに私のJSONファイルです。

しかし、あなたはおそらく、あなたが次のことを定義することができ、その場合にはany以外の型を、使用して応答をモデルにしたい:

interface FbApiResponse { 
    posts: { 
     id: string; 
     data: FBResponseElement; 
    } 
} 

interface FbResponseElement { 
    message?: string; 
    story?: string; 
    created_time: string; 
    id: string; 
} 

けれども、私はあなたのデータに基づいて、これを推測しています。私はあなたが実際に働いているAPIが何であるか、そのレスポンスがどのようなものか、名前を付けなければならないかを実際には知りません。

その後、JSON.parseにあなたの呼び出しで型アサーションを使用することができます。

JSON.parse(data._body) as FbApiResponse 
関連する問題