【问题标题】:Store data in Firebase as JSON object将数据作为 JSON 对象存储在 Firebase 中
【发布时间】:2016-03-21 17:59:42
【问题描述】:

所以我正在开发一个小型网络应用程序,并且我正在使用 Firebase 作为后端。这是一个小型聊天应用程序,我正在尝试以以下形式存储一个人的消息:

{ "John" : {0: "hello",1:"how are you?".2:"what are you doing?" }}

我将这个人的姓名存储在一个名为 my_name 的变量中。我的 Firebase 参考称为 ref。假设我将 my_name 设置为,

var my_name = "John";

然后做

ref.set({my_name : {0:"Hello"}});

它将数据存储为

{my_name : {0:"Hello"}}

而不是

{"John" : {0:"Hello"}}

如何存储它以便它使用 my_var 的分配值?

【问题讨论】:

  • 为什么聊天数据保存为数组?这可能会在以后引起问题。当像这样存储聊天数据时,更好的选择可能是 push() 以生成节点名称并将消息存储为每个节点内的键:值对。这样做将使您能够存储消息的发件人和收件人以及时间戳、执行查询和其他详细信息。此外,您的示例 (.2) 中有句点而不是逗号。

标签: javascript html css json firebase


【解决方案1】:

尝试像这样在您的属性名称周围加上括号:

var my_name = 'John';

ref.set({
  [my_name]: { 0: "Hello" }
});

【讨论】:

    【解决方案2】:

    像这样创建一个 JS 对象

    var obj = {};
    obj[my_name] = "{ 0: "Hello" }";
    

    然后将其保存到 Firebase

    ref.set(obj);
    

    【讨论】:

      【解决方案3】:

      检查您的 {}。

      var car = {type:"Fiat", model:"500", color:"white"};
      
              function writeData() {
                  firebase.database().ref('cars/'+ dateToInsert).set(
                      car
                  );
      

      那个保存:
      类型:“菲亚特”
      型号:“500”
      颜色:“白色”

              function writeData() {
                  firebase.database().ref('cars/'+ dateToInsert).set({
                      car
                  });
      

      那个存档:

      汽车:
      - 类型:“菲亚特”
      - 型号:“500”
      - 颜色:“白色”

      【讨论】:

        猜你喜欢
        • 2018-11-26
        • 1970-01-01
        • 2016-12-11
        • 2017-12-24
        • 1970-01-01
        • 1970-01-01
        • 2017-05-03
        • 1970-01-01
        • 2020-01-15
        相关资源
        最近更新 更多