Работа с набором данных при отправке через Firebase через Python - PullRequest
0 голосов
/ 19 ноября 2018

Я тестировал набор данных, который у меня есть на Firebase.

Firebase Snapshot Используя эту инструкцию

 result = firebase.get('/Lot',"I") #THIS PULLS THE DATASET FROM FIREBASE

Когда я использую инструкцию firebase.get в python, я получаю следующее.

runfile('C:/Users/Maint.Tech/parking_app/firebase_test.py', 
wdir='C:/Users/Maint.Tech/parking_app')
[None, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 
0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 
1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 
0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 
1, 0, 1, 1, 1, 0]
  1. Что такое «None»? Когда я манипулирую числами после «none», все правильно отображается в наборе данных.
  2. Из python Я пытаюсь взять массив в python и отправить его через список json. Как мне настроить массив python для отображения правильной структуры для отправки в firebase? Это отправленная мною инструкция, которая корректно обновляет набор данных. Просто нужно выяснить, как правильно написать питон ..

send_data = firebase.put('/Lot','I',[None, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0])

Спасибо.

1 Ответ

0 голосов
/ 19 ноября 2018

Firebase изначально не хранит массивы. Когда вы отправляете ему массив, он вместо этого сохраняет элементы из этого массива в свойствах номера.

Так что, если вы храните следующий массив в JavaScript:

ref.set([ first, second, third ]);

Firebase фактически хранит его как:

{
  "0": "first",
  "1": "second",
  "2": "third"
}

Теперь, если вы удалите первый элемент из базы данных и прочитаете результат обратно в массив в JavaScript, вы получите:

[ undefined, "second", "third" ]

И последний кажется очень похожим на то, что есть в вашем скрипте Python.

Но в данном случае это всего лишь справочная информация. Похоже, вы на самом деле отправляете None в put в Firebase. Если вы не хотите, чтобы там был None, не отправляйте его, а вместо этого сделайте:

send_data = firebase.put('/Lot','I',[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...