Card |
---|
| - Em vários casos precisamos enviar campos obrigatórios para um sistema alvo, por isso utilizamos a operação Default.
Entrada JSON: Bloco de código |
---|
{
"PersonalData":[
{
"name":"John",
"age":25,
"Passport":"123",
"AddressDestiny":"1600 Pennsylvania Washington DC20500 EUA",
"email":"[email protected]",
"weight":"90.155",
"countryOriginList":[
{
"addressOrigin":"Street1",
"countryRegion":"Brazil"
}
]
},
{
"name":"Jane",
"age":30,
"Passport":"456",
"AddressDestiny":"1400 Defense Blvd Washington VA20301 EUA",
"email":"[email protected]",
"weight":null
}
]
} |
Jolt Spec: Bloco de código |
---|
[
{
"operation":"shift",
"spec":{
"PersonalData":{
"*":{
"name":"PersonalData[&1].name",
"age":"PersonalData[&1].age",
"Passport":"PersonalData[&1].passport",
"AddressDestiny":"PersonalData[&1].addressDestiny",
"weight":"PersonalData[&1].weight",
"countryOriginList":"PersonalData[&1].countryOriginList"
}
}
}
},
{
"operation":"default",
"spec":{
"PersonalData[]":{
"*":{
"surName":"empty",
"countryOriginList[]":{
"0":{
"addressOrigin":"empty",
"countryRegion":"empty"
},
"*":{
"addressOrigin":"empty",
"countryRegion":"empty"
}
}
}
}
}
}
] |
- Com isso temos os novos campos surName, countryOriginList, countryRegion, addressOrigin, todos definidos com o valor padrão "empy" caso o campo não exista na origem ou possua o valor nulo;
- Um detalhe importante é que o nome da lista deve conter colchetes para definir os valores da lista de destino “Dados Pessoais[]”;
- Os valores podem ser int, double, bool, string, null, list;
- Observe que na lista paísOrigem é definida por padrão se não existir na origem, na elemento Jane é criada com campos vazios e no elemento John mantém os dados de origem porque possui valores;
- Este procedimento é necessário quando o sistema alvo possui esta lista como obrigatória para integração.
Saída: Bloco de código |
---|
{
"PersonalData":[
{
"name":"John",
"age":25,
"passport":"123",
"addressDestiny":"1600 Pennsylvania Washington DC20500 EUA",
"weight":"90.155",
"countryOriginList":[
{
"addressOrigin":"Street1",
"countryRegion":"Brazil"
}
],
"surName":"empty"
},
{
"name":"Jane",
"age":30,
"passport":"456",
"addressDestiny":"1400 Defense Blvd Washington VA20301 EUA",
"weight":null,
"countryOriginList":[
{
"countryRegion":"empty",
"addressOrigin":"empty"
}
],
"surName":"empty"
}
]
} |
|
|