Импорт JSON файла

В большинстве случаев аналитик получает JSON (JavaScript Object Notation) ответ посредством отправки REST-запроса. Однако возникают ситуации, когда требуется импортировать из файловой системы JSON файл.

В Loginom для этого используется язык программирования JavaScript.

В данном примере показано, как реализовать импорт и преобразование в таблицу JSON файла, представленного в виде массива, иными словами обрамленного квадратными скобками [].

Запустить демо

Установить локально

Описание алгоритма

Импорт и парсинг JSON файла

Для подобного кейса подготовлен компонент, для которого требуется путь (абсолютный или относительный) до JSON файла (во входном порту переменных).

В узле Обработка JSON инициализируется объект с именем obj, который принимает JSON файл как объект по указанному пути.

Далее происходит преобразование JSON массива в таблицу.

Код

import {InputTable, InputVariables, OutputTable, DataType, UsageType } from "builtIn/Data";

function GetType(type){ // Функция преобразования типа данных JSON в тип данных Loginom
    switch (type) {
      case "null" :
        return 0;
      case "boolean" :
        return 1;
      case "number" :
        return 3; 
      case "string" :
        return 5;       
    }
}

try {
    let obj = require(InputVariables.Items.JSON.Value);    // Переменная obj принимает объект JSON
    let lenght = obj.length; // Переменная принимает количество объектов в массиве
    for (let key in obj[0]){
        let type = typeof(obj[0][key]) // Переменная получает тип каждого поля
        OutputTable.AddColumn({Name: key, // Формирование выходных полей
                               DataType: GetType(type)});    // Использование функции GetType
    }

    for (let i = 0; i < lenght - 1; i++) {
        OutputTable.Append(); // Добавление строки в выходной набор
        for (let key in obj[i]){
           OutputTable.Set(key, obj[i][key]); // Присвоение ячейки выходному набору
        }
    }
}

catch(e) {
    OutputTable.AddColumn('error'); 
    OutputTable.Append();
    OutputTable.Set('error', e); // Возвращает исключение в случае ошибки скрипта
}
Преобразование типов данных

Так как у Loginom и JavaScript разные типы данных. На последнем шаге идет смена типов в узле Параметры полей.


Скачайте и откройте файл в Loginom. При необходимости Loginom CE можно скачать бесплатно

Скачать демопример

Минимальные требования к системе:

  • Операционная система: Windows 8.1 и выше.
  • CPU x64: 1 core.
  • Оперативная память: 1 GB.
  • Жесткий диск: 10 GB.