2016-11-07 100 views
0

我有一個來自Facebook API的JSON對象,它具有公共頁面的所有文章。我正在使用類型腳本來抓取對象並將其分配給一個變量。但我無法弄清楚如何訪問這些字段。如何訪問類型腳本中的JSON數據?在打字稿中訪問Json數據

這裏是我的JSON文件: https://graph.facebook.com/1650393515218783?fields=posts&access_token=EAAN3TCkzCxsBACdSQIu3KDiORivp0eEeQWNMBu1aT8TnEWYEqQhblcl4IZAykwIwDFF5v6LB8BYNyOXYWrRhE7ildN2lnXFqwpnv7Bzq3Kh2ZB5FZBAMxrbpNEX2znds1G86AurOZAD0R1W3ec1ZBhwr8LNZAZCyGjgtMGbiZA44XwZDZD

這裏是我的功能:

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會給你在你回來的響應第一個故事的消息。

但你可能要使用比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