首页 > 解决方案 > 如何从 API 获取数据并将其放入 json 文件中,错误是流必须具有可读接口

问题描述

我正在尝试从 spacex api 获取数据

server.route({
        method: "GET",
        path: "/fetch-api",
        handler: (request, h) => {
            return Request.get("https://api.spacexdata.com/v3/launches", (err, res, body) => {
                if (err) {
                    return console.dir(err);
                }

                fs.appendFileSync('./data.json', ',' + body, (err) => {
                    if (err) {
                        console.dir(`Error writing file: ${err}`);
                    }
                });
            });

        }
    });

来自 API 的数据附加到文件中,但它都在一行中

    {
        "name": "Jeff Bezos",
        "corp": "Amazon"
    },
    {
        "name": "Bernard Arnault",
        "corp": "Louis Vuitton and Moet Hennessey"
    },
    {
        "name": "Bill Gates",
        "corp": "Microsoft"
    },
    {
        "name": "Mark Zuckerberg",
        "corp": "Facebook"
    },
    {
        "name": "Mukesh Ambani",
        "corp": "Reliance Industries Limited"
    },
    {
        "name": "Warren Buffet",
        "corp": "Berkshire Hathaway"
    },
    {
        "name": "Elon Musk",
        "corp": "Space-X"
    },
    {
        "name": "Larry Ellison",
        "corp": "Oracle Corp"
    },
    {
        "name": "Steve Ballmer",
        "corp": "Microsoft"
    },
    {
        "name": "Larry Page",
        "corp": "Google"
    },
    {
        "name": "Jack Cron",
        "corp": "USA"
    }
],[{"flight_number":1,"mission_name":"FalconSat","mission_id":[],"upcoming":false,"launch_year":"2006","launch_date...]

我怎样才能让文件中的附加数据显示在 /fetch-api 页面上?或者至少如何获取,以免发生错误。

标签: node.js

解决方案


推荐阅读