Значения ID sys_id в системных полях типа JSON не обёрнуты в кавычки (без кавычек)

:speech_balloon: Описание
Невозможно работать со значением ID из полей типа Json из-за округления

:heavy_check_mark: Обходное решение

Для оборачивания значений ID необходимо использовать скрипт:

const RAW_JSON = {“text”: “”, “policy”: “Changed”, “sys_id”: 163527285917042204, “application_id”: 155931135900000002, “sys_created_at”: “2021-10-26 18:27:39”, “sys_created_by”: 155931135900000001, “sys_updated_at”: “2021-10-30 12:44:04”, “sys_updated_by”: “155931135900000001”};

let fixedJson = RAW_JSON;const unquotedIDs = RAW_JSON.match(/(?<=\": )(\d{18})/g);

new Set(unquotedIDs).forEach(sys_id => { const regex = new RegExp((?<=": )(${sys_id}), 'g'); fixedJson = fixedJson.replace(regex, “${sys_id}”);});

console.log('❌ ID from RAW_JSON:' + JSON.parse(RAW_JSON).sys_id);console.log('✔️ ID from fixedJson:' + JSON.parse(fixedJson).sys_id);

1 лайк