¿Es posible agregar un nuevo valor JSON a JSON anidado existente?
Mi JSON es:
{ "meta": { "status": 200, "message": "Data retrieval successfully" }, "data": { "id": 1, "name": "F4rid arya", "created_at": "2022-01-04 02:34:27", "updated_at": "2022-01-04 02:34:27", }, "commision" : 50000 }Quiero mover la "comisión" anidada a "datos" de esta manera:
{ "meta": { "status": 200, "message": "Data retrieval successfully" }, "data": { "id": 1, "name": "F4rid arya", "commision" : 50000 "created_at": "2022-01-04 02:34:27", "updated_at": "2022-01-04 02:34:27", }, }Este es mi código para crear JSON:
const data = await User.find(id) let parsed = ResponseParser.apiItem(data.toJSON()) var jsonCommision = {} jsonCommision = { "commision": 15000000 } let assignJson = Object.assign(parsed, jsonCommision) return response.status(200).send( assignJson )Puede asignar la propiedad de commission en obj.data usando el método Object.assign() y luego eliminar la propiedad de commission externa del objeto.
Demostración de trabajo:
// Original object const obj = { "meta": { "status": 200, "message": "Data retrieval successfully" }, "data": { "id": 1, "name": "F4rid arya", "created_at": "2022-01-04 02:34:27", "updated_at": "2022-01-04 02:34:27", }, "commission" : 50000 }; // Assigning commission property in obj.data object. Object.assign(obj.data, { "commission": obj.commission }); // Filtered out commission property from an object. const { commission, ...myObjectRest} = obj; // Result console.log(myObjectRest);prueba esto
const data = await User.find(id); let parsed = ResponseParser.apiItem(data.toJSON()) parsed.data.commision=parsed.commision; delete parsed.commision; return response.status(200).send( parsed )