简单的问题。如何在 Mojolicious::Lite 中打开“漂亮”的 json 渲染?我正在开发一个 RESTful API,并希望以更易于阅读的格式查看我的输出。
问问题
1591 次
3 回答
3
您可以在启动方法中覆盖默认的 JSON 渲染器。
对于一个最小的例子:
use JSON::XS;
our $json = JSON::XS->new->utf8->pretty;
sub startup {
my $self = shift;
...
$self->app->renderer->add_handler(json => sub {
${$_[2]} = $json->encode($_[3]{json});
});
}
默认处理程序在 Mojolicious/Renderer.pm 中定义并使用Mojo::JSON::encode_json
.
于 2015-08-18T19:23:45.057 回答
2
Mojo::JSON声称是对 RFC 完整的简约 JSON 实现。它没有实现自动缩进/使输出漂亮。
您最好的选择是使用支持该功能的浏览器(或其他客户端),例如SoapUI。有像JSONView for Chrome这样的浏览器插件。
您还可以滚动您自己的客户端并使用其中一种 JSON 实现,例如JSON::MaybeXS。
然后还有JSON模块json_pp
附带的命令行实用程序。默认情况下,它会打印得很漂亮。您可以像这样通过管道将 curl 的输出传递给它:
$ curl -s -H "Accept: application/json" http://www.json-generator.com/api/json/get/ckUMuWrjLS?indent=0 -- | json_pp
curl 选项将-s
使其状态输出静音。
以上 JSON 来源:http: //www.json-generator.com/
于 2015-07-17T11:15:00.533 回答
0
JSON::PP有pretty
方法。
$json->pretty([$enable])
于 2015-07-17T04:49:14.033 回答