He publicado datos como la variable _attachments
:
Quiero preparar esos datos para insertarlos como la siguiente estructura:
"_attachments": [ { "container": "string", "fileName": "string", "name": "string", "mime": "string", "size": 0 } ]
Pero lo que he hecho:
for(let key in _attachments) { job._attachments[key]['container'] = _attachments[key]['container']; job._attachments[key]['fileName'] = _attachments[key]['fileName']; job._attachments[key]['name'] = _attachments[key]['name']; job._attachments[key]['mime'] = _attachments[key]['mime']; job._attachments[key]['size'] = _attachments[key]['size']; }
dar este error:
Unprocessable Entity
Nota: estoy usando loopback.
Simplemente agregue esto a su attachment.josn
:
"id": { "type": "string", "id": true, "defaultFn": "uuid" }
y no hay necesidad de hacer un bucle de datos.
Desde la captura de pantalla, _attachments
parece ser una matriz; si ese es el caso, no debe usar for...in
para iterar sobre él, sino for..of
. for..in
devolverá todas las propiedades enumerables, incluidas las potencialmente "no deseadas"
Consulte la parte inferior de este excelente recurso de MDN para obtener detalles ( for..of
está disponible en Typescript)
for (let index of _attachments) { ... }
Aún mejor, usa un mapa
const result = _attachments.map( att => ...)
Además, la estructura que mapea para que parezca idéntica a la estructura original, ¿por qué no usar una asignación directa?
Necesitas Stringificarlo.
Código
data = { container: "Stuff" } var jsonString = JSON.stringify(data); console.log(jsonString);
Antes
Después
Esto es más como se ven sus datos,