【问题标题】:Converting Firebase database data from string into an array将 Firebase 数据库数据从字符串转换为数组
【发布时间】:2019-06-08 16:06:49
【问题描述】:

我正在尝试使用 Xenioo 平台构建聊天机器人,并且它们的“列表”函数返回编译错误。绕过我设法将数据从 Firebase 获取到 JavaScript 变量中:

        { documents:[{
  "documents": [
    {
      "name": "projects/*******/databases/(default)/documents/Assets/QWEWQXLUyOl8vQXypHo7",
      "fields": {
        "Lawyer Phone": {
          "stringValue": "6"
        },
        "Sale Type": {
          "stringValue": "7"
        },
        "Area": {
          "stringValue": "2"
        },
        "Address": {
          "stringValue": "1"
        },
        "Lawyer Name": {
          "stringValue": "5"
        },
        "District": {
          "stringValue": "4"
        },
        "Asset Type": {
          "stringValue": "3"
        },
        "Additional": {
          "stringValue": "0"
        }
      },
      "createTime": "2019-06-06T17:42:30.592904Z",
      "updateTime": "2019-06-08T15:52:36.649013Z"
    },
    {
      "name": "projects/*******/databases/(default)/documents/Assets/fzdbqZFet4GskHqVTGaT",
      "fields": {
        "Additional": {
          "stringValue": "a"
        },
        "Lawyer Phone": {
          "stringValue": "g"
        },
        "Sale Type": {
          "stringValue": "h"
        },
        "Area": {
          "stringValue": "c"
        },
        "Address": {
          "stringValue": "b"
        },
        "Lawyer Name": {
          "stringValue": "f"
        },
        "District": {
          "stringValue": "e"
        },
        "Asset Type": {
          "stringValue": "d"
        }
      },
      "createTime": "2019-06-08T15:50:38.053127Z",
      "updateTime": "2019-06-08T15:52:27.389321Z"
    }
  ]
}
]}

我希望能够将这些数据作为普通数组或一些我可以简单地按用户要求循环和过滤数据的东西来处理,例如:

var data = "";

for( var i=0; i < result.length; i++ ){
        data += result[ i ].Additional + "\n";
}

我使用的语言是 JavaScript,我是 Noby,所以非常感谢帮助。

【问题讨论】:

标签: javascript arrays json firebase for-loop


【解决方案1】:

我相信首先要做的是将变量转换为对象实例。

var value = conversation.GetVariableValue( "my_firebase_data" );
var instance = JSON.parse( value )

之后,您几乎可以对变量做任何您想做的事情,例如:

for( var i=0; i < instance.documents.length; i++ )
   [any operation]

我也认为 Xenioo 在你的聊天机器人中支持直接变量解析,比如“Hello {{data[0].first_name}}”等。

【讨论】:

    猜你喜欢
    • 2021-11-18
    • 1970-01-01
    • 2014-07-03
    • 1970-01-01
    • 1970-01-01
    • 2013-08-04
    • 1970-01-01
    • 2020-04-02
    • 1970-01-01
    相关资源
    最近更新 更多