При работе с busboy, я получаю поля формы в нотации в скобках, где я хотел бы, чтобы это было в нотации объекта (так как эти поля в итоге будут вложенными).
Вот пример частикод (в примере используется Map
):
const asyncFetch = (req : any) => {
const fetch = busboy({headers: req.headers});
return new Promise((res, rej) => {
let formData = new Map();
fetch.on('field', (key : any, val : any) => {
formData.set(key, val);
});
fetch.on('finish', () => {
res(formData);
});
fetch.on('error', () => {
rej('Malformed request');
});
fetch.end(req.rawBody);
});
};
Значение внутри каждого key
заключено в квадратные скобки для обозначения вложенности.
Если данные формы были переданы как:
{
foo: {
bar: 'baz'
}
}
key
будет равно "foo[bar]"
val
будет равно "baz"
Любой хороший способ разобрать это