JSON в Firebase

#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)"
    }
}
}]
 

Firebase после импорта

Комментарии:

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