Импорт JSON файла
В большинстве случаев аналитик получает JSON (JavaScript Object Notation) ответ посредством отправки REST-запроса. Однако возникают ситуации, когда требуется импортировать из файловой системы JSON файл.
В Loginom для этого используется язык программирования JavaScript.
В данном примере показано, как реализовать импорт и преобразование в таблицу 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.