在打字稿中访问Json数据

在打字稿中访问Json数据

问题描述:

我有一个来自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); }); 

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