如何从 formidable 动态构建 json
How to build json dynamically from formidable
我正在尝试从请求的表单字段动态构建一个 json 对象,这些字段接收正常,但我无法按照我的意愿构建 json。
我试过下面的方法
let userJson = {}
var form = new formidable.IncomingForm();
form.parse(req);
form.on('field', function (name, value) {
userJson[name]=value; //didn't work
[userJson.name]=value]; // didn't work
});
我分两步手动完成的...
var userJson = []
var form = new formidable.IncomingForm();
form.parse(req);
form.on('field', function (name, value) {
userJson.push('"' + name + '"' + ':' + '"' + value + '"')
});
然后我做了
form.on('end', function (name, file) {
userJson = '{' + userJson.toString() + '}'
userJson = JSON.parse(userJson)
console.log(userJson)
});
因为你使用的是 parse 方法,所以你不需要构建一个 json 变量,它的回调已经为你检索了一个,就像这样:
let userJson = {};
const form = new formidable.IncomingForm();
form.parse(req, (err, fields) => {
userJson = {...fields};
// do whatever you want afterwards
});
希望对您有所帮助!
我正在尝试从请求的表单字段动态构建一个 json 对象,这些字段接收正常,但我无法按照我的意愿构建 json。
我试过下面的方法
let userJson = {}
var form = new formidable.IncomingForm();
form.parse(req);
form.on('field', function (name, value) {
userJson[name]=value; //didn't work
[userJson.name]=value]; // didn't work
});
我分两步手动完成的...
var userJson = []
var form = new formidable.IncomingForm();
form.parse(req);
form.on('field', function (name, value) {
userJson.push('"' + name + '"' + ':' + '"' + value + '"')
});
然后我做了
form.on('end', function (name, file) {
userJson = '{' + userJson.toString() + '}'
userJson = JSON.parse(userJson)
console.log(userJson)
});
因为你使用的是 parse 方法,所以你不需要构建一个 json 变量,它的回调已经为你检索了一个,就像这样:
let userJson = {};
const form = new formidable.IncomingForm();
form.parse(req, (err, fields) => {
userJson = {...fields};
// do whatever you want afterwards
});
希望对您有所帮助!