【发布时间】:2016-05-07 17:17:29
【问题描述】:
我的 android 应用连接到 Firebase 并提取由我的服务器发送到那里的“警报对象”。
当我从 Firebase 导出数据时,我得到了格式精美的 JSON 数据表示。
问题: 当我使用 DataSnapshot 将数据拉到我的 android 设备时,数据有 '='(等号)而不是 ':'(分号)。也没有引号。
当我尝试执行JSONObject alert = new JSONObject(data.getValue().toString()); 之类的操作时,我会因为明显的原因而出错。我说的很明显,因为如果您查看我的代码打印到控制台的内容,您会发现它不再是有效的 JSON 格式。
一位朋友提到我需要对编码做一些事情,但我们没有时间讨论它。
如何遍历我创建的这些(有点奇怪)警报对象并将它们转换为我的 Java 中的 JSON 对象,以便我可以访问它们的属性,例如 alert.date 和 alert.message。
我认为屏幕截图可以帮助您了解我在做什么。火力基地根本没有固定,所以你可以随意看看。它不会做太多事情,当我投入生产时,无论如何我都会移动它。
我确信这是一个非常容易回答的问题,我只是不太精通 JSON 和编码作为一个整体。
谢谢!
【问题讨论】:
-
您在问题中包含了 JSON 树的图片。请将其替换为作为文本的实际 JSON,您可以通过单击 Firebase 数据库中的“导出”按钮轻松获取该文本。将 JSON 作为文本使其可搜索,使我们能够轻松地使用它来测试您的实际数据并在我们的答案中使用它,通常只是一件好事(tm)。
-
@FrankvanPuffelen 这是 Firebase 导出文本的屏幕截图。我现在正在使用手机,但是当我回到家时,我会加载可搜索的文本。你所看到的是其中的 99%。只剩下几行了。
标签: java android json encoding firebase