首页 > 解决方案 > 如何根据 SQL 表中的字段创建 JSON 数组?(Node.js - MsSQL)

问题描述

我有一个基于Node.jsMicrosoft SQL server的项目。数据库中只有一个表,我需要根据它的记录获取一个JSON对象。

该表如下所示:

在此处输入图像描述

在这里我们可以看到有相同字段的记录。假设该表名为“Table1”。我们需要进行查询以获取以下形式的 JSON:

{
  "animal": {
    "fish": ["shark"],
    "insect": ["fly", "wasp"]
  },
  "plant": {
    "wild": ["pine"],
    "cultural": ["apple"]
  },
  "human": {
    "adult": ["unemployed"],
    "kid": ["studying"]
  }
}

也就是说,我需要的不是记录本身,而是根据这些记录生成一个菜单。使用mssql建立与数据库的连接:

router.get("/", async (req, res) => {
  try {
    await sql.connect(`mssql://${config.get('SQL_USER')}:${config.get('SQL_PASSWORD')}@${config.get('HOST')}/${config.get('DATABASE')}`);
    const data = await sql.query`THE_SQL_QUERY`;
    res.json(data);
  } catch (err) {
    console.error(err.message);
    res.status(500).send('Server Error');
  }
});

您能否告诉我是否可以执行查询以便在输出中获得这样的 json?我对SQL没有这么深的了解,如果你告诉我,我将不胜感激。

感谢关注!

标签: javascriptsqlnode.jsjsonsql-server

解决方案


推荐阅读