2016-10-16 5 views
2

Я новичок как в firebase, так и в JSON, и у меня возникает странная проблема, когда он запускает базу данных firebase с нулем. JSON:JSON to Firebase

[{ 
"Location" : { 
    "0" : { 
     "name" : "Huntington Beach", 
     "address" : "602 Pacific Coast Hwy, Huntington Beach, CA 92648", 
     "hours" : "Sun 8am-8pm, Mon - Sat 8am-9pm", 
     "phoneNumber" : "(714) 536-TACO(8226)" 
    }, 
    "1" : { 
     "name" : "Newport Beach", 
     "address" : "3014 W Balboa Blvd, Newport Beach, CA 92663", 
     "hours" : "Sun 8am-8pm, Mon - Sat 8am-9pm", 
     "phoneNumber" : "(949) 723-TACO(8226)" 
    } 
} 
}] 

Firebase After Import

+0

Это потому, что вы импортируете массив. Попробуйте удалить окружающие '[]' - тогда у вас будет 'Location' в корне. – cartant

+1

Использование массивов с Firebase обычно является анти-шаблоном. Прочтите эту запись в блоге, чтобы узнать больше: https://firebase.googleblog.com/2014/04/best-practices-arrays-in-firebase.html –

ответ

2

Как указано в комментариях, ваша проблема заключается в квадратные скобки [].

[{ // <--------- THIS [ 
"Location" : { 
    "0" : { 
     "name" : "Huntington Beach", 
     "address" : "602 Pacific Coast Hwy, Huntington Beach, CA 92648", 
     "hours" : "Sun 8am-8pm, Mon - Sat 8am-9pm", 
     "phoneNumber" : "(714) 536-TACO(8226)" 
    }, 
    "1" : { 
     "name" : "Newport Beach", 
     "address" : "3014 W Balboa Blvd, Newport Beach, CA 92663", 
     "hours" : "Sun 8am-8pm, Mon - Sat 8am-9pm", 
     "phoneNumber" : "(949) 723-TACO(8226)" 
    } 
} 
}] // <--------- THIS ] 

Эти скобки указывают на то, что вы сохранении Array. Массив - это containerobjects. И даже если у вас есть только один объект в вашем контейнере, ваша Firebase устанавливает для него номер, потому что он не знает заранее количество объектов. И 0, потому что в информатике 0 = 1

Удалите [] или (как я знаю из вашего другого вопроса, что вы являетесь разработчиком Swift), выньте объект из своего массива. Нравится:

let yourArray: [JSON] = [] 
for element in yourArray { 
    yourUploadFunc(element) 
} 
+0

Да, это была проблема, теперь это на погружение в firebase –

+0

рад, что вы заставил его работать. –