2016-05-03 2 views
-2

У меня возникают проблемы с данными синтаксического анализа из JSON, такие как этоКак я могу разобрать данные firebase JSON методом нажимной

{ 
-KGWZ2x71KlTRF5JxLnh: { 
condition: "clear sky", 
date: "29 Apr 2016", 
degree: "59.90360000000002", 
latitude: "33.7932608", 
longitude: "-118.1359034", 
placeType: "Shopping Mall", 
placeVisited: "Los Altos Mall", 
time: "03:28", 
uid: "2fe51b4a-60b9-42cf-a889-bb607a5ea9bd", 
username: "kavit kaushal" 
}, 
-KGWZ3g5KPVaRiB6BCli: { 
condition: "clear sky", 
date: "29 Apr 2016", 
degree: "59.90360000000002", 
latitude: "33.7932608", 
longitude: "-118.1359034", 
placeType: "Shopping Mall", 
placeVisited: "Los Altos Mall", 
time: "03:28", 
uid: "2fe51b4a-60b9-42cf-a889-bb607a5ea9bd", 
username: "kavit kaushal" 
}, 
-KGYQfmdGEX5lsehJ1g8: { 
condition: "overcast clouds", 
date: "29 Apr 2016", 
degree: "65.11999999999996", 
latitude: "33.7933637", 
longitude: "-118.135812", 
placeType: "Shopping Mall", 
placeVisited: "Los Altos Mall", 
time: "12:11", 
uid: "2fe51b4a-60b9-42cf-a889-bb607a5ea9bd", 
username: "muktika bansal" 
} 
} 

Эти узлы генерируются, когда я использую Firebase.push() method.Is есть способ получить все узлы и получить доступ к информации. Я использую java и разрабатываю проект в Google App Engine.

+0

Вы знаете JSON Parsing? Если нет, то Google может вам помочь! –

+0

В документации [Firebase documentation] (https://www.firebase.com/docs/android/guide/retrieving-data.html) также есть несколько хороших примеров того, как начать работу. –

+0

Я занимаюсь только анализом JASON. Мне нужно знать объекты, поскольку это случайные ключи. Я не знаю, что делать. – powernit

ответ

1

Firebase не может использовать традиционные массивы с цифровыми клавишами, или мы создадим столкновения и переопределим. Возьмите этот простой пример:

// ref = ['foo']; 
ref.push('bar'); 

В то же время, другой клиент называет:

ref.push('baz'); 

Что происходит? Если мы используем традиционные массивы JavaScript с числовыми ключами, оба клиента пытаются записать в ref.

Тот, кто доберется до последнего сервера, перепишет данные, которые были получены первыми. Мы, конечно, этого не хотим.

Вместо использования массивов коллекции упорядоченных данных в Firebase представлены объектами с автогенерируемыми ключами, которые выглядят как '-KGWZ2x71KlTRF5JxLnh'.

Эти ключи генерируются автоматически и кодируют как временную метку, так и уникальный идентификатор клиента. Таким образом, несколько клиентов могут записывать данные одновременно с коллизиями, и ваши данные все равно будут возвращаться по порядку.

Для обработки этих типов ключей вам необходимо обратиться по этой ссылке: https://www.airpair.com/firebase/posts/firebase-building-realtime-app

Вот ссылка еще один стек, который Вилю дать некоторые ссылки на вас: Get users by name property using Firebase

Надеется, что это даст вам некоторое представление относительно этого.

Смежные вопросы