У меня есть главный файл конфигурации JSON, значение которого может быть перезаписано конфигурационным файлом определенной учетной записи (также в JSON).Создайте различия в значениях между двумя файлами JSON
мастер-файл
{
"section1Configs": {
"setting01": true,
"setting02": true,
"setting03": false
},
section2Configs: {
"setting01": true,
"setting02": true,
"setting03": false
},
section3Configs: {
"setting01": true,
"setting02": true,
"setting03": false
},
section4Configs: {
"setting01": true,
"setting02": true,
"setting03": false
}
}
конфигурационный файл
{
"section1Configs": {
"setting01": true,
"setting02": true,
"setting03": true
},
section2Configs: {
"setting01": false,
"setting02": true,
"setting03": false
},
section3Configs: {
"setting01": true,
"setting02": false,
"setting03": false
},
section4Configs: {
"setting01": true,
"setting02": true,
"setting03": false
}
}
Обратите внимание, что они идентичны, за исключением определенных значений (section01Config.setting03
, section02Config.setting01
и section03Config.setting02
) различны. Также обратите внимание, что весь блок section4Configs
в обоих файлах одинаковый.
Те же, что и они, не нужны, так как приложение загружает оба и перезаписывает главный файл с теми, которые отличаются в конфигурации учетной записи.
Что бы я хотел сделать, это иметь скрипт, который выполняет итерацию через каталог таких файлов учетных записей и удаляет запись в каждом файле, которые являются тем же ключом и значением, что и главный файл. Из этого примера я бы в конечном итоге с файлом, как это:
{
section1Configs: {
setting03: true
},
section2Configs: {
setting01: false
},
section3Configs: {
setting02: false
}
}
У вас есть доступ к любому другому языку программирования, например perl? – pooley1994
Я не знаю Perl, но могу приложить усилия, чтобы заставить его работать. Поэтому, если у вас есть предложение с Perl, это тоже хорошо. – vdiaz1130
Не все ваши ключи [хорошо сформированы] (http://stackoverflow.com/questions/949449/json-spec-does-the-key-have-to-be-surrounded-with-quotes) (они пропускают кавычки). Это просто ошибка, или ваши файлы не имеют их везде? – sjaustirni