Мое приложение читает несколько файлов Json в Typescript, заполняет поля выбора, но я хочу избежать мокрого (напишите все дважды) кода и сохранить вещи dry (не повторяйтесь). Изначально у меня были уникальные функции для каждого файла json, поскольку каждый из них имеет разные значения и должен анализироваться по-разному, но вместо этого я создал одну функцию, которая может быть вызвана из моего основного класса, который будет выполнять чтение и синтаксический анализ в array и return.
Например, мои страны Json выглядят так:
{
"Countries": {
"country": [
{
"_CountrySEQ": "0",
"_CountryCodeDesc": "UNITED STATES",
"_CountryCode": "USA"
},
{
"_CountrySEQ": "1",
"_CountryCodeDesc": "CANADA",
"_CountryCode": "CAN"
},
, , ,
}
}
Мне нужно, чтобы он был преобразован в массив ключ / значение и выглядит так:
[
{
key:'USA',
value:'UNITED STATES'
},
{
key:'CAN',
value:'CANADA'
}
. . .
]
Но у меня есть состояния json, которые выглядят так:
{
"States": {
"state": [
{
"_State": "(cantons) Aargau",
"_CountryCode": "CHE"
},
{
"_State": "Abruzzi",
"_CountryCode": "ITA"
}
. . .
]
}
}
И их нужно проанализировать, чтобы они выглядели так:
[
{
key:'CHE',
value:'(cantons) Aargau'
},
{
key:'ITA',
value:'Abruzzi'
}
. . .
]
Есть ли способ сделать это максимально модульным? Хотите, чтобы с этим справилась одна функция? Массивы классов или интерфейсов - лучшее решение? И если да, то как мне их правильно реализовать?