Tengo problemas para cambiar el nombre de la clave de un objeto que está dentro de la matriz y no solo esto, el nombre está vacío como se muestra a continuación.
{ "success": true, "data": [ { "": "abc123abc" } ] }
Si quiero dar el nombre a la clave, ¿cómo podría hacerlo en Node Js?
Me gusta si desea dar un nombre clave como este que se muestra a continuación
{ "success": true, "data": [ { "application_num": "abc123abc" } ] }
Hay dos componentes para resolver este problema: hacer referencia al elemento con un nombre vacío y cambiarle el nombre.
Para hacer referencia a cualquier propiedad, incluso con caracteres especiales o, en este caso, una cadena vacía, puede especificar el nombre de la propiedad como una cadena entre corchetes de la siguiente manera:
data["my property with spaces"] data[""]
Ahora que podemos hacer referencia al nombre de propiedad vacío, debemos cambiarle el nombre. Esto se puede lograr eliminando la propiedad original y creando una nueva con el mismo valor. Puede eliminar la propiedad con la palabra clave delete
, de la siguiente manera
delete data[""]
Aquí está la respuesta final completa, que almacena el valor en una variable temporal, elimina la propiedad que no desea y asigna el valor almacenado a un nuevo nombre de propiedad diferente:
const data = { "success": true, "data": [ { "": "abc123abc" } ] } const dataObjectToModify = data.data[0] const originalPropertyValue = dataObjectToModify[""] delete dataObjectToModify[""] dataObjectToModify["application_num"] = originalPropertyValue
a = { "success": true, "data": [ { "": "abc123abc" } ] } //{ // "success": true, // "data": [ // { // "application_num": "abc123abc" // } // ] //} //-------------------------------- a["data"][0] = {"application_num" : "abc123abc"} //{ // "success": true, // "data": [ // { // "application_num": "abc123abc" // } // ] //}