#json #firebase #firebase-realtime-database
# #json #firebase #firebase-база данных в реальном времени
Вопрос:
Я новичок как в firebase, так и в JSON, и у меня возникла странная проблема, когда база данных firebase запускается с нуля. JSON:
[{
"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)"
}
}
}]
Комментарии:
1. Это потому, что вы импортируете массив. Попробуйте удалить окружение
[]
— тогда у вас будетLocation
корень.2. Использование массивов с Firebase обычно является антишаблоном. Прочитайте это сообщение в блоге, чтобы узнать больше: firebase.googleblog.com/2014/04 /…
Ответ №1:
Как указано в комментариях, ваша проблема заключается в квадратных скобках []
.
[{ // <--------- 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
. Массив — это container
часть objects
. И даже если у вас есть только один объект в вашем контейнере, ваша Firebase устанавливает для него номер, потому что он не знает заранее количество объектов. И 0, потому что в информатике 0 = 1
Удалите []
или (как я знаю из вашего другого вопроса, что вы разработчик Swift), удалите объект из вашего массива. Нравится:
let yourArray: [JSON] = []
for element in yourArray {
yourUploadFunc(element)
}
Комментарии:
1. Да, это была проблема, теперь она переходит к погружению в firebase