Javascript 如何循环JSON响应对象以删除属性标签?

Javascript 如何循环JSON响应对象以删除属性标签?,javascript,json,Javascript,Json,我的API路由中有以下代码,返回以下JSON对象: // GET - Get login settings router.route('/login/settings').get((req, res) => { let settings =[]; pool.connect((err, client, done) => { client.query('SELECT * FROM public.settings', (err, result) => {

我的API路由中有以下代码,返回以下JSON对象:

// GET - Get login settings
router.route('/login/settings').get((req, res) => {
  let settings =[];
  pool.connect((err, client, done) => {
    client.query('SELECT * FROM public.settings', (err, result) => {
      settings = result.rows;
      res.json({
          settings,
      });
    });
  });
});
如何在路由代码中编写循环以将JSON响应对象更改为如下所示:

{
  "settings": [
    {
      "key": "TwoFactorAuth",
      "value": "false"
    },
    {
      "key": "sessionTimeout",
      "value": "200"
    }
  ]
}

循环执行
设置
数组,并使用一个属性创建一个新对象。属性的名称来自原始元素的
元素,属性的值来自
元素。然后用这个替换数组元素

{
  "settings": [
    {
      "TwoFactorAuth": "false"
    },
    {
      "sessionTimeout": "200"
    }
  ]
}
var设置=response.settings;
对于(变量i=0;i
要将变量添加为某个对象的键,可以使用[key]符号。 请尝试以下操作以设置要更新的对象:

var settings = response.settings;
for (var i = 0; i < settings.length; i++) {
    var obj = {};
    obj[settings[i].key] = settings[i].value;
    settings[i] = obj;
}

试试这个工作片段:

var jsonObj={
“设置”:[
{
“关键”:“两个因素”,
“值”:“假”
},
{
“键”:“会话超时”,
“值”:“200”
}
]
};
var res=jsonObj.settings.map(函数(项){
var x={};
x[item.key]=item.value;
返回x;
});

控制台日志(res)通过在数组上映射来更改result.rows对象的形状

将第6行更改为:

settings  = settings.map((data) => {
    var object = {};
    object[data.key] = data.value;
    return object;
});
致:


应该这样做

请尝试一下,并询问你在做这件事时遇到的任何困难。记得也发一篇文章。我可以请你在你的答案周围添加一些上下文吗。只有代码的答案很难理解。如果你能在你的文章中添加更多的信息,这将有助于询问者和未来的读者。
settings = result.rows;
settings = result.rows.map(setting => ({[setting.key]:setting.value}))