Come avrei convertire i miei nuovi dati dell'oggetto, sto recuperando da Firebase nella forma JSON come ho avuto prima

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

Domanda

Ho appena impostato il mio FireBase, il database angolare con la mia app Yeoman, Angularjs.Io uso il codice duro i miei dati prima come

$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'... }
]
.

Quando ho caricato i dati di cui sopra nel mio database di FireBase ho dovuto avere una forma valida di dati JSON, quindi l'ho convertito a questo

[
    { "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"... },
    ...
    ...
]
.

che è valido formato JSON.Ora, quando ho console.log (Firebaseref), i miei dati vengono recuperati nel modulo sottostante.Questo è esattamente quello che vedo nella mia console di 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...
    ...
    ...
.

Come avrei convertire i miei nuovi dati dell'oggetto, sto recuperando da Firebase nello stesso modulo che ho avuto prima?

Ecco un'immagine della differenza principale tra i due.I dati di Firebase che ricevo sembrano essere un oggetto con più oggetti in esso e i dati che desideri / usati prima sono una matrice di più oggetti. Immagine di due diversi dati oggetto

È stato utile?

Soluzione

Secondo questo URL: Oggetto da array - Conversione rapida

È necessario assegnare l'oggetto Firebase a una variabile:

$scope.firebaseObj
.

E poi puoi riempirlo nell'oggetto $ scope.Data da:

$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;
      .
      .
      . 
 }
.

Questo funzionerà solo se ogni elemento nel JSON ha gli stessi attributi

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top