Преобразование данных базы данных Firebase из строки в массив - PullRequest
0 голосов
/ 08 июня 2019

Я пытаюсь создать чат-бота на платформе 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, я Ноби, поэтому я очень признателен за помощь.

1 Ответ

0 голосов
/ 11 июня 2019

Я считаю, что первое, что нужно сделать, - это преобразовать переменную в экземпляр объекта.

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}}" и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...