如何从json对象中删除$Proxy和$Resoled?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (22)

我使用$ resource来获取json对象,其结构在下面定义

[
    {
        "id": 0,
        "name": "Type1"
    },
    {
        "id": 1,
        "name": "Type 2"
    }
]

获取数据后.. console.log(jsonObject)给我

[Resource, Resource, $promise: Object, $resolved: true]

如何从生成的对象中删除$ promise&$ resolved?我试过angular.fromJson(json),但我仍然看到这些对象仍然存在。

提问于
用户回答回答于

我的项目中的例子

Diary.getSharedWithMe(function(data) {
        delete data.$promise;
        delete data.$resolved;
        _self.sharedDiariesWithMe = data;
    }, function(error) {
        console.log(error)
    });
用户回答回答于

我正在寻找相同的答案,但在这一刻,我只知道这个丑陋的黑客:

编写一个这样的func:

function cleanResponse(resp) {
    return JSON.parse(angular.toJson(resp));
}

并在每个查询中调用它(丑陋,是):

function getSmt() {
    Resource.get({}, function (data) {
        $scope.some = cleanResponse(data);
    }, function (responce) {
        //handle error
    })
}

如果有人会教我如何正确地做,我会很高兴

扫码关注云+社区