Arrays Angular2 Typescript:分析JSON数组时出错

Arrays Angular2 Typescript:分析JSON数组时出错,arrays,json,angular,Arrays,Json,Angular,我正在尝试使用Angular 2 typescript解析一个带有数组的简单JSON结构 JSON结构: [ { "_id": { "$oid": "594156331900006500e5f0f7" }, "username": "John Smith", "place": { "name": "vvio", "point": {

我正在尝试使用Angular 2 typescript解析一个带有数组的简单JSON结构

JSON结构:

[
    {
        "_id": {
            "$oid": "594156331900006500e5f0f7"
        },
        "username": "John Smith",
        "place": {
            "name": "vvio",
            "point": {
                "type": "Point",
                "coordinates": [
                    51.5044484,
                    -0.1056523
                ]
            }
        },
        "from": "2017-05-01",
        "to": "2017-05-30",
        "availabilities": [
            {
                "date": "2017-05-01",
                "timeFrom": "20:00",
                "timeTo": "21:00"
            },
            {
                "date": "2017-06-01",
                "timeFrom": "20:00",
                "timeTo": "21:00"
            },
            {
                "date": "2017-06-19",
                "timeFrom": "15:25",
                "timeTo": "15:25"
            },
            {
                "date": "2017-06-19",
                "timeFrom": "15:59",
                "timeTo": "15:59"
            }
        ],
        "sports": [
            "Sport5",
            "Sport2"
        ]
    }
]
export class Checkin {
     _id: Id;
    username: string;
    place :Place;
    from: string;
    to: string;
    availabilities: Availability[];
    sports: string[];
 }

 export class Id {
     $oid: string;
 }

 export class Place {
    name: string;
    point: Point;
 }

 export class Point {
    type: string;
    coordinates: number[]; // number?
 }

 export class Availability {
     date: string;
     timeFrom: string;
     timeTo: string;
 }
我创建这个类来映射JSON结构:

[
    {
        "_id": {
            "$oid": "594156331900006500e5f0f7"
        },
        "username": "John Smith",
        "place": {
            "name": "vvio",
            "point": {
                "type": "Point",
                "coordinates": [
                    51.5044484,
                    -0.1056523
                ]
            }
        },
        "from": "2017-05-01",
        "to": "2017-05-30",
        "availabilities": [
            {
                "date": "2017-05-01",
                "timeFrom": "20:00",
                "timeTo": "21:00"
            },
            {
                "date": "2017-06-01",
                "timeFrom": "20:00",
                "timeTo": "21:00"
            },
            {
                "date": "2017-06-19",
                "timeFrom": "15:25",
                "timeTo": "15:25"
            },
            {
                "date": "2017-06-19",
                "timeFrom": "15:59",
                "timeTo": "15:59"
            }
        ],
        "sports": [
            "Sport5",
            "Sport2"
        ]
    }
]
export class Checkin {
     _id: Id;
    username: string;
    place :Place;
    from: string;
    to: string;
    availabilities: Availability[];
    sports: string[];
 }

 export class Id {
     $oid: string;
 }

 export class Place {
    name: string;
    point: Point;
 }

 export class Point {
    type: string;
    coordinates: number[]; // number?
 }

 export class Availability {
     date: string;
     timeFrom: string;
     timeTo: string;
 }
服务内容如下:

getCheckins(userName : string): Promise<Checkin[]>  {

        var options = new RequestOptions({
             headers : new Headers({
            'Accept': 'application/json;q=0.9,*/*;q=0.8',
           'Content-Type':'application/json',
            })
        });

        console.log("checkin ");
         const url = `${this.checkinUrl}${userName}`;
        return this.http.get(url)
        .toPromise()
        .then(response => { 
            let result = response.json();
            console.log("response "+JSON.stringify(result));
            return result as Checkin[]})
        .catch(this.handleError);
    }
下面是我得到的错误(来自for循环):

似乎我无法将json响应解析到json类中


谢谢你的帮助

您需要移动循环和回调中的所有其他内容(
然后
)以完成此操作!的可能重复项:)你使用什么IDE?@AJT_82:谢谢你的建议,成功了!显然,我还是个新手!谢谢你的帮助!您需要移动循环和回调中的所有其他内容(
然后
)以完成此操作!的可能重复项:)你使用什么IDE?@AJT_82:谢谢你的建议,成功了!显然,我还是个新手!谢谢你的帮助!