Не работает вот такая вот запись?:
str = '{id: 4,image: "path",dessert: "text",calories: 100,fat: 10,comments: "comment"}';
$scope.dataTableTbody.push(eval(str));
Массив js-объектов:
$scope.dataTableTbody = [
        {
            id: 11,
            image: '/images/placeholder/1-square.jpg',
            dessert: 'Frozen yogurt',
            calories: 159,
            fat: 6.0,
            comments: 'Lorem ipsum'
        },
        {
            id: 13,
            image: '/images/placeholder/3-square.jpg',
            dessert: 'Eclair',
            calories: 262,
            fat: 16.0,
            comments: 'Lorem ipsum'
        }];
А вот если делаю так:
$scope.dataTableTbody.push(eval('[' + str + ']'));
то объект добавляется в массив, но в таком виде:
Array [ Object, Object, Object, Array[1] ]  
где в Array[1] соответственно содержится наш Object
Нужно сделать, чтобы $scope.dataTableTbody в итоге был таким:
Array [ Object, Object, Object, Object ]