javascript - 如何在浏览器中打印 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) 调用数据?
先感谢您
解决方案
你试过吗
return res.json(data)
我看到您处于 for 循环中,因此您可能想在它之外执行此操作
推荐阅读
- python-3.x - 使用 echo 命令获取 TypeError 必须是 str 而不是字节
- python - 正确键入 sys.stdout 和文件
- oracle - Oracle SQL:如何删除重复行
- c# - 相交但之后两个对象都在手边?
- vue.js - 如何在 vue-worker 中调用 VueJs 方法?
- java - 如何使用休眠和 ajax 请求读取表格
- mysql - 如何在 SQL 中加入包含祖父-父-子列的表?
- javascript - 印刷编号 使用 JS 在 DOM 中使用链接的次数
- xamarin.forms - 如何修复所有平台(android和uwp)主详细信息页面中导航页面的菜单
- visual-studio-code - VS Code“当前环境中未找到 Python pip”错误