4
I wanted to know if there is any way to map json objects in React-Native. For example, let’s say I get the following json:
{
"data": {
"lastUpdate": {
"name": "Lala"
}
"dob": "01/01/2001"
}
}
and I wanted to map to an object:
{
"dados": {
"ultimaAtualizacao": {
"nome": "Lala"
}
"nascimento": "01/01/2001"
}
}
Whereas this comes from a fetch
, it would be possible to do so as follows:
meuServico.get(url).then(resposta => this.mapeiaObjeto(resposta, []));
//Considerando que o state já está inicializado
//Considerando que eu já tenha uma entidadeMapeada pra retornar as propriedades corretas
mapeiaObjeto (objetoJson, propriedadePai) {
for (let propriedade in objetoJson) {
if (Array.isArray(objetoJson[propriedade ])) {
mapeiaArray(objetoJson[propriedade], [...propriedadePai,propriedade]); //Seria algo análago a esse método
} else if (typeof objetoJson[propriedade] === 'object') {
this.mapeiaObjeto(objetoJson[propriedade],[...propriedadePai,propriedade]);
} else {
let prop = this.state;
for(let chave of propriedadePai) {
prop = prop[entidadeMapeada[chave]];
}
prop[entidadeMapeada[propriedade]] = objetoJson[propriedade];
}
}
}
My question is, is there any simpler way, whether with some framework or with own resources of React-Native, to do this?
how will you know which property to map?
– Vencovsky
@Vencovsky in that code of mine, the object
entidadeMapeada
guard which key is corresponding to which name. For example,{ "data": "dados", "dob": "nascimento"}
so on. In this case, I wanted to know if there is any way I can create a class and it already generate the object for me natively in React, like Annotations in java– Felipe Avelar