Firebase - недопустимые данные или значения JSON. Ключевые значения can not содержат $# []/или
Я пытаюсь импортировать мой файл JSON в свою Firebase, но он продолжает давать мне эту ошибку. Я не знаю, почему этот JSON файл не может быть импортирован, поскольку JSONLint говорит, что он является допустимым файлом JSON.
Здесь файл:
{
"Featured" : {
"artist" : "james turell",
"artistEPK" : "artistsownepk.pdf",
"author" : "john queue author",
"date" : "7/28/2016",
"fullScreenImg" : "https://firebasestorage.googleapis.com/v0/b/wallplay-a8440.appspot.com/o/Screen%20Shot%202016-06-08%20at%2012.00.06%20PM.png?alt=media&token=1df5d60d-808c-48bb-a591-e005f82e4687",
"linksToMedia" : [ "www.wallplay.com/project-name/james-t/press.html" ],
"linksToPress" : [ "" ],
"location" : "10 Main Street",
"mainImg" : "https://firebasestorage.googleapis.com/v0/b/wallplay-a8440.appspot.com/o/Screen%20Shot%202016-06-08%20at%2012.00.06%20PM.png?alt=media&token=1df5d60d-808c-48bb-a591-e005f82e4687",
"pressImgs" : [ "https://firebasestorage.googleapis.com/v0/b/wallplay-a8440.appspot.com/o/Screen%20Shot%202016-06-08%20at%2012.00.06%20PM.png?alt=media&token=1df5d60d-808c-48bb-a591-e005f82e4687", "https://firebasestorage.googleapis.com/v0/b/wallplay-a8440.appspot.com/o/Screen%20Shot%202016-06-08%20at%2012.00.06%20PM.png?alt=media&token=1df5d60d-808c-48bb-a591-e005f82e4687", "https://firebasestorage.googleapis.com/v0/b/wallplay-a8440.appspot.com/o/Screen%20Shot%202016-06-08%20at%2012.00.06%20PM.png?alt=media&token=1df5d60d-808c-48bb-a591-e005f82e4687" ],
"pressRelease" : "projectpressrelease.pdf",
"projectImgs" : [ "https://firebasestorage.googleapis.com/v0/b/wallplay-a8440.appspot.com/o/Screen%20Shot%202016-06-08%20at%2012.00.06%20PM.png?alt=media&token=1df5d60d-808c-48bb-a591-e005f82e4687", "https://firebasestorage.googleapis.com/v0/b/wallplay-a8440.appspot.com/o/Screen%20Shot%202016-06-08%20at%2012.00.06%20PM.png?alt=media&token=1df5d60d-808c-48bb-a591-e005f82e4687", "https://firebasestorage.googleapis.com/v0/b/wallplay-a8440.appspot.com/o/Screen%20Shot%202016-06-08%20at%2012.00.06%20PM.png?alt=media&token=1df5d60d-808c-48bb-a591-e005f82e4687" ],
"projectSubheader" : "subheader of project",
"projectTitle" : "title of project",
"projectURL" : "",
"soundFile" : [ ],
"text" : "here there would be a text for james turell",
"videoURL" : ""
},
"Future" : {
},
"Past" : {
},
"Present" : {
}
}
проблема возникает при импорте json с помощью веб-интерфейса
![введите описание изображения здесь]()
Ответы
Ответ 1
Я просто потратил некоторое время на это и нашел проблему для меня (и, вероятно, для многих других) при получении этого сообщения об ошибке. Похоже, что firebase может импортировать только файлы с кодировкой UTF-8 (без спецификации)
Мне показалось странным, поскольку я не мог повторно импортировать содержимое, которое я только что экспортировал.
Я пробовал все версии UTF 8, 16 с LE и BE с и без спецификации, только UTF-8
работает
Я хочу, чтобы у firebase не было этого обманчивого сообщения об ошибке
![введите описание изображения здесь]()
Ответ 2
Две вещи, которые могут помочь кому-то сохранить пару часов царапин на голове:
1) Пустые строки являются действительными ключами JSON, они НЕ являются действительными ключами Firebase.
2) В то время как сообщение об ошибке веб-инструмента ужасно, инструмент командной строки фактически предоставляет полезную информацию, например, номер строки (хорошо, когда у вас есть файл линии 300K +)
например.
база данных firebase --project: set/import.json
чтобы перезаписать все из корня
Ответ 3
Это произошло со мной и имело совершенно другую причину: у меня были функции Firebase, которые запускались при добавлении данных в определенные коллекции. Инструмент с графическим интерфейсом дал мне бесполезную ошибку, которую получил OP. Но работая с CLI, я получил:
Error: HTTP Error: 400, This request would cause too many functions to be triggered.
Таким образом, ошибка действительно спасла мою шкуру, так как запуск функции для каждого из нескольких сотен узлов, которые я импортировал, был бы катастрофическим.
Чтобы решить эту проблему, я развернул код своего приложения с закомментированными функциями, а затем смог использовать графический интерфейс для импорта моих данных. Как только мои данные были введены, я откомментировал функции и снова развернул их.
Ответ 4
Мое имя файла было "что-то-что-то", т.е. оно имело символ "-" в имени файла. Изменение его на "something.json" решило проблему
Итак, у вас нет специальных символов в ваших файлах.
Ответ 5
JSON, который вы опубликовали, действителен для Firebase, поэтому проблема не в этом JSON. Это должно быть где-то еще в вашем приложении.
Ответ 6
если вы создали триггерную функцию много. Вы должны удалить сработавшие функции. Далее попробуйте еще раз. Этот способ работает для меня.
Ответ 7
Я только нашел еще одну причину, когда Firebase выдает эту ошибку:
Это была база данных, которую отказались загружать:
{
"S. No.": 2,
"University Name": "Acharya Nagarjuna University, Guntur (Id: U-0003)",
"College Name": "Abhinav Institute of Management & Technology (Id: C-39450)",
"College Type": "Affiliated College",
"State Name": "Andhra Pradesh",
"District Name": "Prakasam"
}
Я думал об изменении ключевого имени "С. Нет." и это сработало.
{
"S": 2,
"University Name": "Acharya Nagarjuna University, Guntur (Id: U-0003)",
"College Name": "Abhinav Institute of Management & Technology (Id: C-39450)",
"College Type": "Affiliated College",
"State Name": "Andhra Pradesh",
"District Name": "Prakasam"
}
Firebase принимал более поздний формат (я думаю, что проблема была с. (Точка), сопровождаемая пробелом.) Я надеюсь, что это помогает !!!
Ответ 8
У меня похожая проблема с JSON, содержащим огромные данные. Я решил эту проблему с помощью инструмента импорта Firebase. У этого есть варианты для импорта к определенным узлам и т.д.