因此,假设我有一个庞大的JSON文件,其总体结构大致如下:
{
"apples": { complex object },
"oranges": { complex object },
"grapes": { complex object }
}
在使用express时,是否有某种方法专门针对要返回的对象?举例来说,如果有人向我的服务器发出简单的get请求,它将专门返回给定的对象。我知道语法和概念在这种情况下是完全错误的,但是由于缺少更好的表达方式,例如...
let testData = 'testdata.json';
app.get('/thing', res => {
res.json(testData.oranges);
}
我知道您可以返回整个文件,但是在这种情况下,这会增加大量的加载时间,在这种情况下是不切实际的。
或者,或者-最好让节点解析JSON文件并将其拆分为apples.json,oranges.json等文件以供使用?试图理解A(执行此类操作的最佳实践)和B(将其转化为中型项目的实际应用的最有效方法)。
对此的任何想法或建议-即使是图书馆的建议-也将不胜感激。
答案 0 :(得分:0)
如果发出POST请求时要照顾特定的'事物'的有效载荷,然后基于该事物返回一个对象,则它应该可以工作。示例:
let testData = {
"apples": { complex object },
"oranges": { complex object },
"grapes": { complex object }
};
app.post('/route', (req, res) => {
thing = req.body.thing;
res.json(testData[thing]);
}
答案 1 :(得分:0)
这是对某些数据的GET
请求,主要是因为JSON文件可以用作键/值存储来查询所需的响应数据。
假设用于指定要返回的对象的键的查询参数为part
,那么以下示例将起作用:
const testData = require('./testdata.json');
app.get('/thing', (req, res) => res.json(testdata[req.query.part]);
查询/thing?part=apples
将在响应中返回testdata.apples
。