Карта внутри карты в Firestore - PullRequest
0 голосов
/ 24 февраля 2020

enter image description here

У меня есть код для получения значения карты с именем PUJ.

Map<String, Object> map = document.getData();
for (Map.Entry<String, Object> entry : map.entrySet()) {
    if (entry.getKey().equals("PUJ")) {
        Log.i(TAG, entry.getValue().toString());
    }
}

Можно ли получить только значения: ABC123, YAG916 ?

Ответы [ 2 ]

1 голос
/ 24 февраля 2020

Вложенные карты также Map<String, Object>, как и данные документа. Вы можете разыграть его, если хотите принять тип:

Map<String, Object> map = document.getData();
Map<String, Object> puj = (Map<String, Object>) map.get("PUJ");
Set<String> keys = puj.keysSet();
// keys is now a Set that contains both "ABC123" and "YAG916"

Но вы также должны проверить его с помощью instanceof.

0 голосов
/ 24 февраля 2020
   Map<String, Object> map = document.getData();
    for (String key : map.keySet()) {
        if ("PUJ".equals(key) && map.get(key) instanceof Map) {
            Map<String, Object> pujMap = (Map<String, Object>) map.get(key);
            // 
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...