Как бы я преобразовал свои новые данные объекта, которые я извлекаю от Firebase в форму JSON, как у меня был раньше

StackOverflow https://stackoverflow.com//questions/25043005

Вопрос

Я просто настроил свой Firebase, база данных Angularfire с моим Йоманским приложением Angularjs.Я использую для жесткого кода мои данные до того, как

$scope.data = [
    { name: 'NAME', description: 'DESCRIPTION', type: 'TYPE', etc: 'ETC', etc: 'ETC', etc: 'ETC'... },
    { name: 'NAME', description: 'DESCRIPTION', type: 'TYPE', etc: 'ETC', etc: 'ETC', etc: 'ETC'... },
    { name: 'NAME', description: 'DESCRIPTION', type: 'TYPE', etc: 'ETC', etc: 'ETC', etc: 'ETC'... },
    ...
    ...
    More Data...
    ...
    ...
    { name: 'NAME', description: 'DESCRIPTION', type: 'TYPE', etc: 'ETC', etc: 'ETC', etc: 'ETC'... }
]
.

Когда я загрузил вышеуказанные данные в мою базу данных FireBase, мне нужно было иметь действительную форму данных JSON, поэтому я преобразовал его к этому

[
    { "name": "NAME", "description": "DESCRIPTION", "type": "TYPE", "ect": "ETC","ect": "ETC","ect": "ETC"... },
    { "name": "NAME", "description": "DESCRIPTION", "type": "TYPE", "ect": "ETC","ect": "ETC","ect": "ETC"... },
    { "name": "NAME", "description": "DESCRIPTION", "type": "TYPE", "ect": "ETC","ect": "ETC","ect": "ETC"... },
    ...
    ...
]
.

Что является действительным форматом JSON.Теперь, когда я Console.log (Firebaseref), мои данные получают в форме ниже.Это именно то, что я вижу в моей консоли Google Chrome.

Object {$bind: function, $add: function, $save: function, $set: function, $transaction: function…}
    0: Object
         description: "DESCRIPTION""
         name: "NAME"
         type: "TYPE""
         etc: "ETC"
         etc: "ETC"
         etc: "ETC"
         ...more data...
         __proto__: Object
    1: Object
         description: "DESCRIPTION""
         name: "NAME"
         type: "TYPE""
         etc: "ETC"
         etc: "ETC"
         etc: "ETC"
         ...more data...
         __proto__: Object
    2: Object
         description: "DESCRIPTION""
         name: "NAME"
         type: "TYPE""
         etc: "ETC"
         etc: "ETC"
         etc: "ETC"
         ...more data...
         __proto__: Object
    ...
    ...
    ...More Data...
    ...
    ...
.

Как бы я преобразовал свои новые данные объекта, которые я извлекаю от Firebase в ту же форму, что и раньше?

Вот изображение главной разницы между двумя.Данные FireBase I получают, кажется, является объектом с несколькими объектами в нем, а данные, которые я хочу / используют ранее, - это массив нескольких объектов. Изображение двух разных объектов данных

Это было полезно?

Решение

Согласно этому URL: Объект к массиву - Быстрое преобразование

Вам необходимо назначить объект FireBase к переменной:

$scope.firebaseObj
.

, а затем вы можете набить его в свой объект $ Scope.data:

$scope.data = [];
 for (var i = 0; i < $scope.firebaseObj.length; i++) {
      $scope.data[i]['name']= $scope.firebaseObj[i].name;
      $scope.data[i]['description']= $scope.firebaseObj[i].description;
      $scope.data[i]['type'] =  $scope.firebaseObj[i].type;
      $scope.data[i]['etc1'] =  $scope.firebaseObj[i].etc1;
      $scope.data[i]['etc12'] =  $scope.firebaseObj[i].etc2;
      .
      .
      . 
 }
.

Это только будет работать, если каждый элемент в JSON имеет одинаковые атрибуты

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top