如何在JavaScript中将数组api响应转换为json
我有一个api,它返回如下结构的数据: //代码 返回response.status(200).json(startdate) 结果数据:如何在JavaScript中将数组api响应转换为json,javascript,arrays,javascript-objects,Javascript,Arrays,Javascript Objects,我有一个api,它返回如下结构的数据: //代码 返回response.status(200).json(startdate) 结果数据: [ "2020-01-16", "2020-01-18", ] 我希望此api返回如下结果: Code: 200 Content: { "availableDates": [ "2017-11-24", "2017-11-27" ], "status": "SUCCESS", "mes
[
"2020-01-16",
"2020-01-18",
]
我希望此api返回如下结果:
Code: 200
Content:
{
"availableDates": [
"2017-11-24",
"2017-11-27"
],
"status": "SUCCESS",
"message": ""
}
这是我的完整代码,在这里我以数组的形式获取数据
app.get('/api/getBusyDays',(request, response) =>{
odoo.connect(function (err) {
console.log(' OdooStartDate' + dateTimeStartUsed + 'OdooStopdate' + dateTimeEndUsed);
var params1 = [];
params1.push(inParams1);
console.log(' search params '+ JSON.stringify(params1));
odoo.execute_kw('calendar.event', 'search_read', params1, function (err, value) {
if (err) { return console.log(err) }
if(value) {
if (value.length > 0) {
value.forEach(function(a) {
a.start_datetime = moment(a.start_datetime).format('YYYY-MM-DD');
a.stop_datetime = moment(a.stop_datetime).format('YYYY-MM-DD');
});
const startdate = [...new Set(value.map(val => val.start_datetime))];
startdate.sort();
// return response.status(200).json( value)
return response.status(200).json(startdate)
}
}
您可以创建如下所示的对象:
Code: 200
Content:
{
"availableDates": [
"2017-11-24",
"2017-11-27"
],
"status": "SUCCESS",
"message": ""
}
let arrVal=[
"2017-11-24",
"2017-11-27"
];
/返回对象或框架(Express或膝关节炎或响应对象)
console.log({
“代码”:200,
“内容”:{
“可用日期”:arrVal,
“状态”:“成功”,
“消息”:”
}
})
您可以创建如下对象:
Code: 200
Content:
{
"availableDates": [
"2017-11-24",
"2017-11-27"
],
"status": "SUCCESS",
"message": ""
}
let arrVal=[
"2017-11-24",
"2017-11-27"
];
/返回对象或框架(Express或膝关节炎或响应对象)
console.log({
“代码”:200,
“内容”:{
“可用日期”:arrVal,
“状态”:“成功”,
“消息”:”
}
})
您可以创建一个空对象并为其设置属性,然后将其作为响应从ur节点api服务发送
let data = [
"2017-11-24",
"2017-11-27"
];
let response = [];
response.data = data;
response.code = 200;
response.status = 'success';
response.message = 'Mission Successful';
return response;
您可以创建一个空对象并为其设置属性,然后将其作为响应从ur节点api服务发送
let data = [
"2017-11-24",
"2017-11-27"
];
let response = [];
response.data = data;
response.code = 200;
response.status = 'success';
response.message = 'Mission Successful';
return response;
那有什么问题?不知道怎么转换那有什么问题?不知道怎么转换抱歉我重新提出了我的问题也许问题不清楚idea@Alia您有访问API代码库的权限吗?您使用的是哪种框架?我不能添加所有的代码…但我的想法是api工作得很好,只是我希望结果不像数组,而是json,其中包含status和message如果您希望响应是这样的,那么您必须将响应修改为一个对象,并更改前端实现,
response.status(200)
仅修改响应标题状态代码,它不会创建对象。很抱歉,我重新制定了我的问题,可能不清楚idea@Alia您有访问API代码库的权限吗?您使用的是哪种框架?我不能添加所有的代码…但我的想法是api工作得很好,只是我希望结果不像数组,而是json,其中包含status和message如果您希望响应是这样的,那么您必须将响应修改为一个对象,并更改前端实现,response.status(200)
仅修改响应标题状态代码,不创建对象。