如何在JavaScript中将数组api响应转换为json

如何在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

我有一个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",
    "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)
仅修改响应标题状态代码,不创建对象。