2016-07-06 4 views
2

Это моя база данных firebase. enter image description here Когда я экспортировать JSON из этой базы данных он дает мне следующую JSON данные: -Firebase Данные JSON, содержащие массивы

{ 
"app1": { 
    "app-icon": "some-icon", 
    "app-name": "AmazingApp", 
    "feature-id": 1, 
    "image-list": { 
     "image1": { 
      "image-display-time": 20, 
      "image-name": "Name", 
      "image-sequence": 1, 
      "music-file": "some mp3 file" 
     }, 
     "image2": { 
      "image-display-time": 25, 
      "image-name": "Name", 
      "image-sequence": 2, 
      "music-file": "some mp3 file" 
      } 
     }, 
     "image-time-enabled": false 
    } 
} 

Здесь image-list является массив, но от того, что я знаю, что firebase не поддерживает массивы, следовательно, к сожалению, нет [], которые обозначает массив. Поэтому, если я передам данные JSON третьим сторонам, которые они потребляют, они не могут потреблять эти данные, так как они не могут перебирать дочерние узлы узла image-list, поскольку это технически не массив (хотя он предназначен как массив).

Как я могу работать с такими данными JSON?

ПРИМЕЧАНИЕ. Третья сторона использует javascript и не будет обращаться к базе данных firebase напрямую, вместо этого они просто будут использовать json, исходя из простого текста.

ответ

4

Они могут использовать цикл for-in, как показано ниже, для получения объектов.

for (var key in image-list) { 
    if (image-list.hasOwnProperty(key)) { 
    console.log(key + " -> " + JSON.stringify(image-list[key])); 
    } 
} 
+0

О чем говорит 'p'? Я полагаю, что это массив 'image-list'. –

+0

Да p ссылается на список изображений. –

+0

Большое спасибо, он очень хорошо работал. –