小编Xnk*_*nkr的帖子

在Firebase中检索嵌套数据-Android

我刚刚进入了Firebase和android的世界。我遵循在线教程来设置和获取非嵌套数据,并将其显示在列表视图中,如下所示:

之前的数据:

数据之前

    mListView = (ListView) findViewById(R.id.ListView) ;
    final ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, mStudents);
    mListView.setAdapter(arrayAdapter);
    FirebaseDatabase database = FirebaseDatabase.getInstance();
    myRef = database.getReference().child("Student1");
    myRef.addChildEventListener(new ChildEventListener() {
        @Override
        public void onChildAdded(DataSnapshot dataSnapshot, String s) {
            String value = dataSnapshot.getValue(String.class);
            String key = dataSnapshot.getKey();
            String totl = key + ": " + value;
            mStudents.add(totl);
            arrayAdapter.notifyDataSetChanged();
        }
    });
Run Code Online (Sandbox Code Playgroud)

我向数据库添加了带有子字段的成绩字段。我想显示整个学生1数据以及成绩。当我尝试运行上面的代码时。我收到以下错误。

数据后:

数据后

FATAL EXCEPTION: main
              Process: com.adcpnmd.mystudents, PID: 3524
              com.google.firebase.database.DatabaseException: Failed to convert value of type java.util.HashMap to String
                  at com.google.android.gms.internal.zzbqi.zzaD(Unknown Source)
                  at com.google.android.gms.internal.zzbqi.zzb(Unknown Source) …
Run Code Online (Sandbox Code Playgroud)

android firebase firebase-realtime-database

1
推荐指数
1
解决办法
5121
查看次数

从字符串解析python嵌套列表

所以我将文件解析为python列表,我遇到了这样的嵌套列表:

{   1   4{  2a  0.0 }{  3   0.0 }{  4c  0.0 }{  5   0.0 }   }
Run Code Online (Sandbox Code Playgroud)

我想把它解释为一个列表,但是嵌套了,所以我希望它成为python列表,如下所示:

[1,4,[2a,0.0],[3,0.0],[4c,0.0],[5,0.0]]
Run Code Online (Sandbox Code Playgroud)

我设法使用以下内容执行正确的字符串:

l = """{    1   4{  2   0.0 }{  3   0.0 }{  4   0.0 }{  5   0.0 }   }"""
l = l.replace("{\t",",[").replace("\t}","]").replace("{","[").replace("}","]").replace("\t",",")[1:]
Run Code Online (Sandbox Code Playgroud)

我也可以申请' l.strip("\t")以便它是一个列表,但不适用于嵌套,否则它将被展平,这是我不想要的.

我尝试过ast.literal_eval(l),但它在字符串上失败,例如2a

python parsing list abstract-syntax-tree

0
推荐指数
1
解决办法
449
查看次数