DCMTK dcm2json создает недопустимый JSON для сломанных значений DS или IS - PullRequest
1 голос
/ 20 сентября 2019

DCMTK dcm2json создает недопустимый JSON для сломанных значений DS или IS, см. https://support.dcmtk.org/redmine/issues/769

JSON будет содержать значения, подобные следующему примеру:

"00291003": {"vr":"IS","Value":[F]},

Где «F» явно не являетсячисло.

1 Ответ

0 голосов
/ 20 сентября 2019

Это можно обойти в среде Nodejs, сначала запустив необработанный неразобранный JSON с помощью следующего:

const jsonRepair = (rawJson) => {
    let regex1 =  /\[([^"]+)\]/g
    let isNumRegex = /^[-.0-9]*\d$/g
    let matches = undefined
    while ((matches = regex1.exec(rawJson)) !== null) {
        if (!isNumRegex.test(matches[1])) {
            rawJson = rawJson.replace(matches[0], `["${matches[1]}"]`)
            console.log(matches[0], `[${matches[1]}]`)
        }
    }
    return rawJson
}
...