Spaces:
Running
Running
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 {}; | |
} | |
} | |