Вложенный запрос JSON для отображения машинописного текста в интерфейс

#json #typescript #interface

Вопрос:

У меня есть следующий запрос JSON

//ниже приведен текст запроса JSON, если progType = тип1

 {
 progType: "type1",
 customer: {
  custId; "123",
  custname: "name"
 },
 // based on the progType value, the attributes inside the program differs
 program: {
  attr1: "attr1",
  attr2: "attr2"
 }
}
 

//ниже приведен текст запроса JSON, если progType = тип2

 {
 progType: "type2",
 customer: {
  custId; "123",
  custname: "name"
 },
 // based on the progType value, the attributes inside the program differs
 program: {
  type2attr1: "attr1",
  type2attr2: "attr2"
 }
}
 

P. S: Я упомянул только 2 типа ПРОГИ, но есть много разных типов проги.

Как вы можете видеть, атрибуты внутри программы различаются в зависимости от типа программы, как я могу спроектировать интерфейсы в typescript, которые могут отображать запрос JSON независимо от типа программы.