Estoy usando javascript. Tengo un conjunto de datos json. Estoy tratando de convertir de una manera particular. ¿Alguien puede escribir la función para que pueda convertirla?
Dados los datos de Json:
{ "members":[ { "value":"view", "code":"reservations" }, { "value":"view", "code":"dashboard" } ] }
Intentando convertir en:
{ "members": [ { "view_reservation": true, "edit_reservation": true, "create_reservation": true, "delete_reservation": true }, { "view_dashboard": true, "edit_dashboard": true, "create_dashboard": true, "delete_dashboard": true } ] }
¿Alguien puede escribir una función en javascript para convertirla...
const data = JSON.parse(jsonData); data.members = data.members.map(member => ({ `${member.view}_${member.code}`: true, `edit_${member.code}`: true, `create_${member.code}`: true, `delete_${member.code}`: true }));
multiplicas la salida, podemos suponer que siempre obtienes 4 filas (similar a CRUD)
De todos modos, el enfoque de convertir su objeto/matriz a la salida deseada se puede hacer usando algo como esto (donde x es su objeto actual):
var y = { "members": [] }; x.members.forEach(element => { y.members.push({ [element.code + '_' + element.value]: true}) } );
simplemente puede editar el nuevo objeto en y.members.push a su gusto