JSON para Mapeamento de Tabela¶
Visão Geral¶
Os dados no Vinyl são modelados usando tabelas relacionais. A maioria das APIs REST usa JSON para se comunicar. Para processar os dados JSON no Vinyl, deve ocorrer uma transformação para mapear os dados JSON para tabelas relacionais. Esse mapeamento ocorre da seguinte forma:
- Os objetos JSON e seus objetos filhos aninhados são nivelados em uma única tabela.
- Matrizes JSON criam novas tabelas.
Exemplos¶
Objeto Simples¶
JSON
{
"name": "Thomas Magnum",
"occupation": "Private Eye"
}
Tabela Relacional
Tabela "endpoint"
nome | ocupação |
---|---|
Tomás Magnum | Detetive particular |
Objeto Aninhado¶
JSON
{
"name": "Thomas Magnum",
"occupation": "Private Eye",
"bestCar": {
"model": "Ferrari 308 GTS",
"year": "1978"
}
}
Tabela Relacional
Tabela "endpoint"
nome | ocupação | melhor carro/modelo | melhorCarro/ano |
---|---|---|---|
Tomás Magnum | Detetive particular | Ferrari 308 GTS | 1978 |
Matrizes¶
JSON
{
"name": "Thomas Magnum",
"occupation": "Private Eye",
"ferraris": [
{ "model": "308 GTS", "year": "1978" },
{ "model": "308 GTSi", "year": "1980" },
{ "model": "308 GTSi Quattrovalvole", "year": "1984" },
]
}
Tabelas Relacionais
Tabela "endpoint"
nome | ocupação |
---|---|
Tomás Magnum | Detetive particular |
Tabela "endpoint/ferraris"
modelo | ano |
---|---|
308GTS | 1978 |
308 GTSi | 1980 |
308 GTSi Quattrovalvole | 1984 |