我正在尝试用express发送格式化的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,但是它是一个字符串,我怎样才能发送它,使它在浏览器中可读呢?
7条答案
按热度按时间cwdobuhd1#
尝试在节点应用程序上设置“secret”属性
json spaces
。上述语句将在json内容上产生缩进。
sczxawaw2#
您必须将内容类型设置为application/json,如下所示
cngwdvgl3#
使用
type('json')
设置Content-Type
和JSON.stringify()
的格式:eiee3dmh4#
考虑到服务器的资源使用和性能,从服务器发送格式化的JSON输出可能是不可取的,特别是在生产环境中。
相反,您可以找到一些方法在客户端格式化JSON输出。
如果您使用的是Chrome浏览器,您可以使用JSON Formatter,JSON Viewer,JSONView或其他从Chrome网上商店扩展。
Firefox从Firefox 44开始提供内置的JSON viewer。
在命令行或shell脚本中使用
curl
或wget
时,可以将JSON中的结果通过管道传输到jq。jv4diomz5#
这应该能解决你的问题
dced5bon6#
为了方便起见,您可以在路由之前运行的定制中间件中覆盖
res.json
。要自动格式化 * 所有 * JSON响应:
允许基于单个管线或其他逻辑自定义格式的步骤:
0ve6wy6x7#
也许你需要