循环 API 响应节点 JS

Looping through API response Node JS

我正在尝试从 API 中提取数据并将其插入到 MySQL 数据库中。 API 有超过 100 个对象,但我找不到有关如何执行此操作的任何信息?

我正在使用 node-fetch 输出 Json 数据,但无法遍历每个对象?我添加了 API 的片段。

[
  {
    "id": 1,
    "name": "Device_1"
  },
  {
    "id": 2,
    "name": "Device_2"
  }
]

解决了,我现在应该知道了,但是为了将来帮助任何人,我会留下解决方案。

const fetch = require('node-fetch');

let settings = {
    method: "Get"
};

fetch('http://127.0.0.1:3000/test', settings)
    .then(res => res.json())
    .then((json) => {
        for (var i = 0; i < json.length; i++) {
            json.id = json[i].id;
            console.log(json.id);
        }
    });

如果我明白你的意思,你可以使用 foreach 访问对象的任何功能,例如下面的示例。

   Object.keys(obj).forEach(function(k){
          console.log(k + ' - ' + obj[k].id);
     });

让 responseFromApi = [ { "id": 1, "name": "Device_1" }, { "id": 2, "name": "Device_2" } ];

让 insertMany = db.query( 'INSERT INTO your_table (id, name) VALUES ?', [responseFromApi.map(res => [res.id, res.name])], );

参考文档 --> https://www.mysqltutorial.org/mysql-nodejs/insert/

您还可以使用 KnexJs 等查询构建器