Я пытаюсь исследовать различные подходы к идее, которую я имею в голове, и я не совсем уверен, как искать то, что я пытаюсь сделать.
У меня есть серияфункции.Все они преобразуют один и тот же формат JSON (схему) (с разными данными).В разные объекты (разные схемы).
Например, у меня может быть JSON как ...
{
heading: "Fogmeister",
type: "person",
body_text: "iOS developer",
sections: [
{
heading: 'Describing a transform between two sets of data... a "meta-transform"?',
type: "post",
body_text: "I'm trying to investigate..."
},
{
// other post
}
]
}
И я бы хотел преобразовать его в пользовательский объект, такой как ...
{
name: "Fogmeister",
profile: "iOS developer",
posts: [
{ title: 'Describing a transform between two sets of data... a "meta-transform"?' },
{ title: 'Other title' }
]
}
Но у меня может быть какой-то другой JSON, например ...
{
heading: 'Describing a transform between two sets of data... a "meta-transform"?',
type: "post",
body_text: "I'm trying to investigate...",
sections: [
{
heading: null,
type: "answer",
body_text: "What you're looking for is..."
},
{
// other answer
}
]
}
И я бы хотел преобразовать его в объект post, например ...
{
title: 'Describing a transform between two sets of data... a "meta-transform"?',
body: "I'm trying to investigate...",
answers: [
{ body_text: "What you're looking for is..." },
{ body_text: 'Other answer' }
]
}
Надеюсь, из этого небольшого примера вы можете видеть, что входная схема та же, но выходная схема может сильно отличаться.
В настоящее время у меня есть разные функции для сопоставления каждого другого типа.Но я пытаюсь понять, смогу ли я придумать способ, которым я могу describe
отобразить между входом и выходом, а затем поместить это в объект (или что-то еще).
Таким образом, я могуесть единственная функция, которая использует этот Mapping
объект для преобразования данных.
Но ... я не знаю, имеет ли это имя уже имя.Это что-то вроде meta-transform
, так как я хочу иметь возможность описывать преобразование, а не выполнять преобразование самостоятельно.
Могу ли я найти в Google что-нибудь, что даст больше информации об этом виде программирования?
Я не ищу код, который сделает это.Больше всего материала, который я могу прочитать по теме, чтобы я мог сделать это сам.
Спасибо