【问题标题】:Convert JSON response body in node JS在节点 JS 中转换 JSON 响应正文
【发布时间】:2021-10-15 17:44:23
【问题描述】:

我最近开始研究 Node JS 并且对它非常陌生。我正在查询数据库以获取基于 d_num 的结果(一个 d_num 可能有不同的行)。我得到以下 JSON 格式的结果 -

[
    {
        "PRIMARY_ID": 1,
        "D_NUM": "090703",
        "START_DATE": "2021-06-01",
        "END_DATE": "2022-05-31",
        "F_NUM": 1.049,
        "LAST_MODIFIED": "2021-06-02 05:34:04.382279"
    },
{
        "PRIMARY_ID": 2,
        "D_NUM": "090703",
        "START_DATE": "2020-08-01",
        "END_DATE": "2021-05-31",
        "F_NUM": 0.998,
        "LAST_MODIFIED": "2020-06-02 08:34:04.382279"
    }
]

我想把上面的JSON格式改成下面的格式-

[
    {
        "dnum": "090703",
        "details" :[{
            "primaryid":"1",
            "startdate": "2021-06-01",
            "enddate": "2022-05-31",
            "fnum": 1.049,
            "lastmodifieddate": "2021-06-02 05:34:04.382279"
        },
         {
            "primaryid":"2",
            "startdate": "2020-08-01",
            "enddate": "2021-05-31",
            "fnum": 0.998,
            "lastmodifieddate": "2020-06-02 08:34:04.382279"
        }]
    }
]

下面是我的代码-

const express = require('express')
const router = express.Router()

router.get('/:id', async (req, res) => {
    const id = req.params.id;
    const getDetails = await executeDb2Query({
        sql: SQL_QUERIES.GET_DETAILS,
        values: [id],
        log: req.log,
        name: 'Get Details',
        errorMsg: 'Get error while getting Details '
    })
    return res.json(getDetails);
})

有什么建议吗?

【问题讨论】:

    标签: node.js json express


    【解决方案1】:
    const data= [
        {
            "PRIMARY_ID": 1,
            "D_NUM": "090703",
            "START_DATE": "2021-06-01",
            "END_DATE": "2022-05-31",
            "F_NUM": 1.049,
            "LAST_MODIFIED": "2021-06-02 05:34:04.382279"
        },
        {
            "PRIMARY_ID": 2,
            "D_NUM": "090703",
            "START_DATE": "2020-08-01",
            "END_DATE": "2021-05-31",
            "F_NUM": 0.998,
            "LAST_MODIFIED": "2020-06-02 08:34:04.382279"
        }
    ]
    
    function convertItem(item) {
        const newItem = {}
        Object.keys(item).filter(key => key !== 'D_NUM').forEach(key => { newItem[key.toLowerCase().replace('_', '')] = item[key] })
        return newItem
    }
    
    const newData = { dnum: data[0]['D_NUM'], details: data.map(convertItem)}
    console.log(newData)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-07-30
      • 2018-03-19
      • 2016-01-04
      • 2017-09-24
      • 1970-01-01
      • 1970-01-01
      • 2016-02-18
      相关资源
      最近更新 更多