【问题标题】:How to get particular key value from firebase data?如何从 Firebase 数据中获取特定的键值?
【发布时间】:2017-09-03 15:02:36
【问题描述】:
{
  "DIV_1" : {
    "ACTINACT" : 1,
    "COORDINATOR" : "10CA056",
    "DIV_CODE" : "BSL",
    "DIV_ID" : 1,
    "DIV_NAME" : "Bhusawal",
    "ERP_LOC_CODE" : "CRB",
    "MTIME" : "2017-04-08T11:02:59",
    "ZONE_ID" : "ZONE_1"
  },

  "DIV_10" : {
    "ACTINACT" : 1,
    "COORDINATOR" : "06CS011",
    "DIV_CODE" : "UMB",
    "DIV_ID" : 10,
    "DIV_NAME" : "Ambala",
    "ERP_LOC_CODE" : "NRA",
    "MTIME" : "2017-04-08T11:02:59",
    "ZONE_ID" : "ZONE_3"
  }
}

如何获得 DIV_ID? 最初我需要比较键(Ex::Here DIV_10),然后需要获取 DIV_NAME。 提前谢谢...

【问题讨论】:

    标签: android android-studio firebase-realtime-database


    【解决方案1】:

    我假设 DIV_1 和 DIV_10 的父级是根。如果你有DIV_ID 的值,比如“1”或“10”,并且需要得到DIV_NAME 的值,那么你应该这样做:

    int divId = 1; // sample
    FirebaseDatabase.getInstance().getReference().orderByChild("DIV_ID").equalTo(divId)
        .addValueEventListener(new ValueEventListener() {
            ... onDataChange(DataSnapshot dataSnapshot) {
                 for (DataSnapshot snapshot : dataSnapshot.getChildren()) {
                     String divName = snapshot.child("DIV_NAME").getValue(String.class);
                     // there you go
                     // and please check if you have more than 1 value as result
                 }
            }
            ...
        }
    

    但是,如果您有 DIV_1DIV_10 这样的键值,那么它应该会容易得多。像这样:

    String key = "DIV_1";
    FirebaseDatabase.getInstance().getReference(key)
        .addValueEventListener(new ValueEventListener() {
            ... onDataChange(DataSnapshot dataSnapshot) {
                 String divName = snapshot.child("DIV_NAME").getValue(String.class);
                 // note that in this sample, it doesn't need to loop, because:
                 // data you get here is one level deeper than data you got on first sample
            }
            ...
        }
    

    希望对你有帮助

    【讨论】:

    • 您使用第一个样本还是第二个样本?并且 DIV_1 和 DIV_10 父级确实是根?
    • 第二个样本给出空值
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-01-29
    • 2021-10-25
    • 1970-01-01
    • 2019-07-27
    • 1970-01-01
    • 2019-07-03
    • 2017-07-04
    相关资源
    最近更新 更多