我应该创建一个API,在响应的正文中返回"每行一个JSON对象"像这样:
GET /somerequest
回复机构:
{"a": 1, "b": 2}
{"c": 1, "b": 3}
{"a": 4, "b": 2}
...
我绝对不知道如何干净地这样做。我应该把什么放在我的res.send(...)
?
我应该将我的对象变成字符串,用' \ n'然后发回这个字符串?听起来不太干净。
我是Web开发人员的新手,如果答案很明显,请原谅我。
EDIT1:也许它被用作jsonlines以获得更好的可读性和易于评估。
答案 0 :(得分:1)
因为http响应是可写的,所以很容易做到。
这是一个使用bolt协议从neo4j db读取数据的示例。
(res, query) => {
res.writeHead(200, {
'Content-Type': 'text/plain',
'Transfer-Encoding': 'chunked',
'Trailer': 'Content-MD5'
});
const session = driver.session()
session
.run(query)
.subscribe({
onNext: function (record) {
const newObj = { "whatever": recod.get("something") }
res.write(JSON.stringify(newObj) + '\n')
},
onCompleted: function () {
res.addTrailers({ 'Content-MD5': '7895bf4b8828b55ceaf47747b4bca667'})
res.end()
session.close();
},
onError: function (error) {
console.log(error);
res.send({ success: false, message: error })
}
})
}