Решение 1:
- разделить строку на несколько строк (
\r\n
) - l oop через разделенный массив строк и заменить одиночный -т кавычка с двойной кавычкой, чтобы сделать ее действительной JSON строкой
- парсингом JSON строкой с
JSON.parse
const exampleData = `['a', 'b', 'c', 'd']
['e', 'f', 'g', 'h']`;
const multiLineTextToArray = (txt) => {
return (txt.match(/[^\r\n]+/g) || []).map((line) => {
// replace single quote with double quote to make it proper json string
// then parse the string to json
return JSON.parse(line.replace(/\'/g, '\"'));
});
};
/**
jQuery.get('filename.txt', function(data){
alert(multiLineTextToArray(data));
});
*/
// example
console.log(multiLineTextToArray(exampleData));
Решение 2: построение действительного JSON массива
- заменить многострочное (
\r\n
) на ', ' - заменить одинарные кавычки на двойные
- обернуть всю строку
[]
- , проанализировать строку JSON с
JSON.parse
const exampleData = `['a', 'b', 'c', 'd']
['e', 'f', 'g', 'h']`;
const multiLineTextToArray = (txt) => {
return JSON.parse(`[${txt.replace(/[\r\n]+/g, ',').replace(/\'/gm, '\"')}]`);
};
/**
jQuery.get('filename.txt', function(data){
alert(multiLineTextToArray(data));
});
*/
// example
console.log(multiLineTextToArray(exampleData));