Я думаю, вы создаете массив из json объектов из вашего CSV-файла в вашем первом блоке кода. Вот более простой, но эффективный способ сделать это:
Исходный ответ здесь: преобразовать строки CSV в Javascript объекты
Функция для чтения файла:
function loadFile(filePath) {
var result = {};
var items = null;
var xmlhttp = new XMLHttpRequest();
xmlhttp.open("GET", filePath, false);
xmlhttp.send();
if (xmlhttp.status==200) {
items = xmlhttp.responseText;
}
result.items = items;
return result;
}
Ваш первый код будет выглядеть следующим образом:
var csvString = loadFile("./TEST_2.csv");
var arr = csvString.split('\n');
var items = {};
var headers = arr[0].split(',');
for(var i = 1; i < arr.length; i++) {
var data = arr[i].split(',');
var obj = {};
for(var j = 0; j < data.length; j++) {
obj[headers[j].trim()] = data[j].trim();
}
items.push(obj);
}
var result = {}
result.items = items;
console.log(JSON.stringify(result));
Затем вы можете проверить, правильно ли построен объект, и запустить ajax PUT следующим образом:
if (Array.isArray(result) && result.length) {
var listId = 261291
settings = {
"async": true,
"crossDomain": true,
"url": 'https://www.kizeoforms.com/rest/v3/lists/'+listId,
"method": 'PUT',
"headers": {
'content-type': 'application/json',
Authorization: '*****',
},
processData: false,
data: result,
}
$.ajax(settings).done(function(response) {
console.log(response)
});
}