【问题标题】:How do I create a JSON string from data stored in Google Firebase如何从存储在 Google Firebase 中的数据创建 JSON 字符串
【发布时间】:2018-03-01 09:22:25
【问题描述】:

我需要将我的 Google Firebase 数据库数据转换为 JSON 字符串。

期望的结果应该如下:

var dataSet =[
{arr:"test",des:"DMM",eta:"17 Feb 2018 11:00",etd:"17 Feb 2018 13:30",gate:"S92", inbound:"RT456", org:"ARN", outbound:"RT678", remarks:"CHARTER", sta:"17 Feb 2018 11:00", std:"17 Feb 2018 13:30", whs:"T11"},
{arr:"test",des:"ESB",eta:"17 Feb 2018 09:00",etd:"17 Feb 2018 15:30",gate:"S94", inbound:"SD941", org:"JNB", outbound:"SD942", remarks:"", sta:"17 Feb 2018 09:00", std:"17 Feb 2018 15:30", whs:"T11"}
             ];

我是新手,因此不知道如何完成。

【问题讨论】:

    标签: javascript json firebase firebase-realtime-database


    【解决方案1】:

    首先获取 DataSet-schedule 对象,然后迭代其中的每个对象:

    dbRef.child("DataSet-schedule").once("value").then(
        function(snapshot){
            var dataSetObj = snapshot.val(), text= "";
            for(x in dataSetObj){
                text += JSON.stringify(dataSetObj[x]);
                text+= "--";  //separator
            }
        var result = text.split("--");
        result.pop();
        }
    
    );
    

    【讨论】:

    • 感谢您的尝试。我在第一行出现错误Uncaught ReferenceError: dbRef is not defined 我尝试将其更改为firebase.database().ref("DataSet-Schedule").once("value").then( 但随后又变成另一条错误消息Uncaught (in promise) TypeError: JSON.Stringify is not a function
    • @MK01111000 我的代码中有一个小错误。该函数的名称是 JSON.stringify() 而不是 JSON.Stringify()。因此,如果您编写 JSON.stringify(dataSetObj[x]),代码将起作用
    • 在你做result = text.split("--");之后确保你弹出结果数组的最后一个元素,因为它包含空字符串。所以你的代码看起来像var result = text.split("--");result.pop();
    • 谢谢,这正是我要找的
    【解决方案2】:

    JSON 数据可在https://your-project.firebaseio.com/.json 获得。您可以通过向此 url 发送 GET 请求来获取此信息。如果您的数据中有类并且想要获取特定类的数据,请使用https://your-project.firebaseio.com/your-class.json

    您可以使用curl https://your-project.firebaseio.com/.json 对此进行测试 为了更好的可读性,您可以使用curl https://your-project.firebaseio.com/.json?print=pretty

    参考:https://firebase.google.com/docs/database/rest/retrieve-data

    【讨论】:

    • @Anuuraag Baishya,这确实很有帮助。唯一的问题是我需要没有按键的数据,就像我第一篇文章中提到的“期望的结果”
    【解决方案3】:

    您还可以从控制台导出为 JSON。打开三点图标,会有导出和导入功能。

    【讨论】:

    • 我知道该函数,但需要将结果作为我的代码中的变量,而不需要按键。
    猜你喜欢
    • 1970-01-01
    • 2012-02-17
    • 2015-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-13
    • 2020-12-14
    • 2017-02-12
    相关资源
    最近更新 更多