0

我有一个这样的json文件:

 "_id": {
                "$oid": "d8"
            },
"timestamp": {
                "$date": "2010-09-03T11:53:22Z"
            },
"name": {
                "$ref": "user",
                "$id": "73e"
            },

在骨干集合中我有这个,我想从 url 获取数据。

defaults : {
                id : null,
                name : null,
                timestamp : null

            },
parse : function(response){
                response.id = response._id.$oid;
                response.timestamp = response.timestamp.$date;
                response.name = response.name.$ref;

                return response;
            },

它可以识别除 ref 之外的所有内容,并解决此错误。
未捕获的类型错误:无法读取未定义的属性“$ref”。为什么会这样?

4

1 回答 1

0

你得到了你不希望得到的 JSON。在访问对象属性之前,您始终必须检查对象是否存在:

parse : function (response) {
    response._id && (response.id = response._id.$oid);
    response.timestamp && (response.timestamp = response.timestamp.$date);
    response.name && (response.name = response.name.$ref);

    return response;
}

请添加到您的问题控制台输出:console.log(response);

于 2013-09-03T12:40:18.880 回答