node 和 express 发送 json 格式
node and express send json formatted
我正在尝试使用快递发送格式化的 json。
这是我的代码:
var app = express();
app.get('/', function (req, res) {
users.find({}).toArray(function(err, results){
// I have try both
res.send(JSON.stringify(results, null, 4));
// OR
res.json(results);
});
});
我在浏览器中看到 json,但它是一个字符串。
我怎样才能发送它以便它在浏览器中可读?
您必须像这样将 Content-Type 设置为 application/json
app.get('/', function (req, res) {
users.find({}).toArray(function(err, results){
res.header("Content-Type",'application/json');
res.send(JSON.stringify(results, null, 4));
});
});
也许你需要JSON.parse(resp)
尝试在 Node 应用程序上设置 "secret" 属性 json spaces
。
app.set('json spaces', 2)
上面的语句将在 json 内容上产生缩进。
这应该可以解决您的问题
var app = express();
app.set('json spaces', 4)
app.get('/', function (req, res) {
users.find({}).toArray(function(err, results){
res.json(JSON.parse(results));
});
});
使用type('json')
设置Content-Type
和JSON.stringify()
进行格式化:
var app = express();
app.get('/', (req, res) => {
users.find({}).toArray((err, results) => {
res.type('json').send(JSON.stringify(results, null, 2) + '\n');
});
});
从服务器发送 JSON 格式的输出,考虑到服务器的资源使用和性能,可能是不可取的。特别是在生产环境中。
相反,您可以找到几种在客户端格式化 JSON 输出的方法。
如果您使用的是 Chrome,您可以使用 JSON Formatter, JSON Viewer, JSONView 或 Chrome 网上商店中的其他扩展。
自 Firefox 44 起,Firefox 提供内置 JSON viewer。
在命令行或 shell 脚本中使用 curl
或 wget
时,您可以将 JSON 中的结果通过管道传输到 jq。
$ curl http://www.warehouse.com/products | jq .
我正在尝试使用快递发送格式化的 json。
这是我的代码:
var app = express();
app.get('/', function (req, res) {
users.find({}).toArray(function(err, results){
// I have try both
res.send(JSON.stringify(results, null, 4));
// OR
res.json(results);
});
});
我在浏览器中看到 json,但它是一个字符串。 我怎样才能发送它以便它在浏览器中可读?
您必须像这样将 Content-Type 设置为 application/json
app.get('/', function (req, res) {
users.find({}).toArray(function(err, results){
res.header("Content-Type",'application/json');
res.send(JSON.stringify(results, null, 4));
});
});
也许你需要JSON.parse(resp)
尝试在 Node 应用程序上设置 "secret" 属性 json spaces
。
app.set('json spaces', 2)
上面的语句将在 json 内容上产生缩进。
这应该可以解决您的问题
var app = express();
app.set('json spaces', 4)
app.get('/', function (req, res) {
users.find({}).toArray(function(err, results){
res.json(JSON.parse(results));
});
});
使用type('json')
设置Content-Type
和JSON.stringify()
进行格式化:
var app = express();
app.get('/', (req, res) => {
users.find({}).toArray((err, results) => {
res.type('json').send(JSON.stringify(results, null, 2) + '\n');
});
});
从服务器发送 JSON 格式的输出,考虑到服务器的资源使用和性能,可能是不可取的。特别是在生产环境中。
相反,您可以找到几种在客户端格式化 JSON 输出的方法。
如果您使用的是 Chrome,您可以使用 JSON Formatter, JSON Viewer, JSONView 或 Chrome 网上商店中的其他扩展。
自 Firefox 44 起,Firefox 提供内置 JSON viewer。
在命令行或 shell 脚本中使用 curl
或 wget
时,您可以将 JSON 中的结果通过管道传输到 jq。
$ curl http://www.warehouse.com/products | jq .