首页 > 解决方案 > 如何在浏览器中打印 json console.log 数据以与 api 一起使用

问题描述

好的...我想创建一个 api,但我似乎无法输出数据,我已经从 xml 文件中解析了它,并且可以 console.log 必要的数据,但是当我想将数据输出到浏览器时,我只是得到一个空数组有什么建议吗?

const express = require('express');
const app = express();
const fs = require('fs');
const xmlParser = require("xml2json")

app.get('/posts', (req, res) => {
        
        let xmin = req.query.xmin;
        let xmax = req.query.xmax;
        let ymin = -Math.abs(req.query.ymin);
        let ymax = -Math.abs(req.query.ymax);
        
        

        const foodRatings = fs.readFile( "./FHRS433en-GB.xml", function(err, data) {
            const xmlObj = xmlParser.toJson(data, {reversible: true, object: true})
            const estDetail = xmlObj["FHRSEstablishment"]['EstablishmentCollection']['EstablishmentDetail']
            
            
            for (let i=0;i < estDetail.length;i++) {
                let latitude = estDetail[i]["Geocode"]["Latitude"]
                let longitude = estDetail[i]["Geocode"]["Longitude"]
                if ((typeof latitude !== "undefined") && (typeof longitude !== "undefined")) {
                        if ((latitude['$t'] >= xmin && latitude['$t'] <= xmax) && (longitude['$t'] >= ymin && longitude['$t'] <= ymax)) {
                            // jsonData += estDetail[i];
                            let jsonData = [];
                            var config = JSON.parse(estDetail[i]);
                            jsonData.push(config);
                            console.log(jsonData);
                            res.json(jsonData);
                        } 
                } 
            }
        })
}); 

当我看到人们在线输出数据时,他们在一个直接链接到字符串而不是文件的对象中有 json 数据,我不知道我将如何从文件中提取数据并将其传递给一个空数组,然后我可以使用 res.json(jsonData) 调用数据?

先感谢您

标签: javascriptnode.jsjsonexpressxml-parsing

解决方案


你试过吗

return res.json(data)

我看到您处于 for 循环中,因此您可能想在它之外执行此操作


推荐阅读