java - 将 Firebase 字符串数组检索到数组

标签 java android arrays firebase firebase-realtime-database

我一直在尝试将 String 数组从 Firebase 转换为实际数组,但它作为单个字符串来自 Firebase。

澄清一下,这是我在 Firebase 上的内容:

date_image

我正在尝试检索这些日期并将它们转换为数组,因为它们变成了单个字符串,这使得很难分成不同的日期。

我已经尝试按照指示替换字符串的引号 here ,希望仅获取方括号并使用该数组,因为我将拥有一个数组 [],我成功地做到了,但是将数组转换为列表显示双方括号,如下所示。

06-22 13:35:18.241 10352-10352/com.angelserve.zacktinga.angelserv I/System.out: LIST ARRAY: [[Sat Jun 30 00:00:00 GMT+02:00 2018, Sat Jun 30 00:00:00 GMT+02:00 2018, Sun Jul 01 00:00:00 GMT+02:00 2018, Mon Jul 02 00:00:00 GMT+02:00 2018, Tue Jul 03 00:00:00 GMT+02:00 2018, Wed Jul 04 00:00:00 GMT+02:00 2018, Thu Jul 05 00:00:00 GMT+02:00 2018, Fri Jul 06 00:00:00 GMT+02:00 2018, Sat Jul 07 00:00:00 GMT+02:00 2018]]

我正在从 firebase 获取数据快照,如下所示:

mCurrentUserRefDatabase.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {

            System.out.println("DATE LIST: " + dataSnapshot.child("requested_dates").getValue());

            dates.replace("\"", "");

            List<String> list = Arrays.asList(dates);
            System.out.println("LIST ARRAY: " + list);

        }

        @Override
        public void onCancelled(DatabaseError databaseError) {

        }
    });

作为解决方案,我需要一种方法来转换我的

的 firebase 数据快照

requested_dates

并将它们转换成工作数组。

这是我的 JSON Firebase 数据快照: enter image description here

最佳答案

要解决此问题,我建议您使用以下步骤。首先,您需要获取 requested_dates 属性的值,如下所示:

String string = dataSnapshot.child("requested_dates").getValue(String.class);

假设您在字符串的开头有一个[,在字符串的结尾有一个],让我们用空字符串替换这两个符号。然后我们需要使用逗号和空格 , 将其拆分。结果将是一个字符串数组。

String[] parts = string.replace("[", "").replace("]", "").split(", ");
for (int i = 0; i < parts.length; i++) {
    Log.d("TAG", parts[i]);
}

控制台的输出将是:

Wed Jun 13 00:00:00 GMT+02:00 2018
//and so on

关于java - 将 Firebase 字符串数组检索到数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50987788/

相关文章:

java - Robospice:从 SpiceRequest 保存到缓存

delphi - GetMem x ReallocMem

java - 使用 JDBC 检索 postgresql 数组

JAVA如何按空格分割并存储到双数组中

java - 在 if 语句之后使用 switch 语句

java - Xtext 将代码生成器与语法项目分开

java - 更新 : could not execute statement, 时出现 Hibernate 错误 在 'index=1' 附近使用正确的语法

java - onBackPressed() 到主屏幕而不是登录页面

android - 带 fragment 的导航 View 。工具栏

android - 如何在 onClick 期间动态地用另一个菜单膨胀 android NavigationView?