gpt4 book ai didi

javascript - NodeJS 服务器更改 JSON 对象的键名

转载 作者:搜寻专家 更新时间:2023-10-31 23:23:14 25 4
gpt4 key购买 nike

我正在通过 $.ajax 向我的服务器发送 POST 请求,我的 JSON 对象在服务器中遇到一些问题

客户端代码:

var someArr = ["ayush","hehehe"];
var data = {
"profileType": "",
"location": someArr,
"centerPref": 0,
"subjects": []
};
console.log(data.location);
$.ajax({
type: "POST",
url: "/upload/furtherDetails",
data: data
})

但是在控制台日志记录 req.body 上我得到了这个输出

enter image description here

最佳答案

是因为你的json数据是urlencoded的。为了将其解析为丰富的 json 对象,您必须使用特殊的库来执行此操作。

下面是使用 body-parser 包的方法:

const bodyParser = require('body-parser');
app.use(bodyParser.json())
app.use(bodyParser.urlencoded({ extended: true }));

它带来的不同:

-- with: bodyParser.urlencoded({ extended: true }) --

{ profileType: '',
location: [ 'ayush', 'hehehe' ],
centerPref: '0' }

-- with: bodyParser.urlencoded({ extended: false }) --

{ profileType: '',
'location[]': [ 'ayush', 'hehehe' ],
centerPref: '0' }

关于javascript - NodeJS 服务器更改 JSON 对象的键名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50091774/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com