Я изменяю JSON файлы / Javascript объект, используя библиотеку Pinch: https://github.com/Baggz/Pinch
В этом примере pinch()
с параметром регулярного выражения /id/
изменяет ВСЕ значения идентификатора 321
.
Я хочу изменить значение всех идентификаторов, но только для указанного c «Запросчика» на основе параметра (requestorToChange
). Допустим, «RequestorX». Как мне написать регулярное выражение для этого?
var sample = {
"RequestorX":
[{
user: {
id: '123'
},
request: {
id: '456'
},
book: {
id: '789'
}
}],
"RequestorY":
[{
user: {
id: '111'
},
request: {
id: '222'
},
book: {
id: '333'
}
}]
};
const requestorToChange = 'RequestorX'
pinch(sample, /id/, function(path, key, value) {
return '321';
});
console.log(JSON.stringify(sample))
Я знаю, что один из вариантов - просто сделать:
pinch(sample['RequestorX'], /id/, function(path, key, value) {
return '321';
});
Но я должен быть в состоянии сделать это через поле регулярных выражений, поскольку в действительности я буду манипулировать глубоко вложенные JSON файлы.