export function customParse(jsonString: string): object | [] { // Замена одинарных кавычек на двойные let formattedString = jsonString.replace(/'/g, '"'); // Замена некорректных символов, таких как \x и \u formattedString = formattedString.replace(/\\x[0-9A-Fa-f]{2}/g, ""); formattedString = formattedString.replace(/\\u[0-9A-Fa-f]{4}/g, ""); // Замена неэкранированных обратных слэшей formattedString = formattedString.replace(/\\(?!["\\/bfnrtu])/g, ""); // Удаление некорректных или лишних элементов formattedString = formattedString.replace(/\\b/g, "\\u0008"); formattedString = formattedString.replace(/\\f/g, "\\u000c"); formattedString = formattedString.replace(/\\n/g, "\\u000a"); formattedString = formattedString.replace(/\\r/g, "\\u000d"); formattedString = formattedString.replace(/\\t/g, "\\u0009"); // Попытка преобразовать строку в объект try { const obj = JSON.parse(formattedString); return obj; } catch (e) { console.error("Ошибка при распарсивании строки:", e); return []; } } export function customParseStaff(jsonString: string): object { let formattedString = jsonString.replace(/'/g, '"'); formattedString = formattedString.replace(/_x000B_/g, " "); formattedString = formattedString.replace(/(\d+):/g, '"$1":'); try { const obj = JSON.parse(formattedString); return obj; } catch (e) { console.error("Ошибка при распарсивании строки:", e); return {}; } }