gpt4 book ai didi

java - Android Firebase - 无法从 Firebase 快照接收正确的 JSON

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:26:01 24 4
gpt4 key购买 nike

我的 android 应用程序连接到 Firebase 并提取由我的服务器发送到那里的“警报对象”。

当我从 Firebase 导出数据时,我得到了数据的格式精美的 JSON 表示。

问题:当我使用 DataSnapshot 将数据提取到我的 android 设备时,数据具有“=”(等号)而不是“:”(分号)。引文也没有。

当我尝试执行类似 JSONObject alert = new JSONObject(data.getValue().toString()); 之类的操作时,由于显而易见的原因,我收到了错误。我说很明显是因为如果您查看我的代码打印到控制台的内容,您会发现它不再是有效的 JSON 格式。

一位 friend 提到我需要做一些编码方面的事情,但我们没有时间讨论它。

我如何遍历我创建的这些(有点奇怪)警报对象并将它们转换为我的 Java 中的 JSON 对象,以便我可以访问它们的属性,如 alert.date警报消息

我认为屏幕截图可以帮助您了解我在做什么。 Firebase 根本不安全,因此您可以随意查看它。它不会真正起到多大作用,当我投入生产时,无论如何我都会移动它。

Firebase screenshot

JSON export straight from Firebase website

Code in Android Studio to print each object to console

Output to console when running app

我确信这是一个非常容易回答的问题,我只是不太精通 JSON 和整个编码。

谢谢!

最佳答案

你可以使用 gson 库

       public void onChildAdded(DataSnapshot dataSnapshot, String s) {

/*JSONObject jsonObject = null;
try {
jsonObject=new JSONObject();

} catch (JSONException e) {
e.printStackTrace();
}*/
Gson gson = new Gson();
String s1 = gson.toJson(dataSnapshot.getValue());
JSONArray object = null;
try {
object = new JSONArray(s1);
} catch (JSONException e) {
e.printStackTrace();
}

JSONArray jsonArray = object;

Log.e("string", s1);

}

关于java - Android Firebase - 无法从 Firebase 快照接收正确的 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37091468/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com