You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Mojo::UserAgent返回的JSON结果以Pretty JSON格式输出?

用Mojo::UserAgent输出格式化JSON(Pretty JSON)

Mojo生态自带完善的JSON处理能力,无需额外安装依赖,直接通过以下步骤实现格式化输出:

  1. 解析响应为Perl数据结构:利用$tx->res->json方法,将原始JSON响应体解析成Perl的哈希或数组结构。
  2. 生成格式化JSON字符串:使用Mojo::JSON的encode_json函数,传入解析后的数据和{pretty => 1}参数,生成带缩进、换行的格式化JSON。

修改后的完整代码

use Mojo::UserAgent;
use Mojo::JSON qw(encode_json);

my $ua = Mojo::UserAgent->new;
my $tx = $ua->get(
    $host . '/api/endpoint/streams',
    {
        Token         => $token,
        accept        => 'application/json',
        'Content-Type' => 'application/json'
    }
);

# 解析并格式化输出
if (my $json_data = $tx->res->json) {
    print encode_json($json_data, {pretty => 1});
} else {
    warn 'JSON解析失败,原始响应内容:' . $tx->res->body;
}

补充说明

  • $tx->res->json会自动校验响应的JSON格式,若解析失败会返回undef,添加判断可以避免后续报错。
  • encode_json的pretty参数会自动添加默认2空格的缩进和换行,让JSON结构更易读。

内容的提问来源于stack exchange,提问作者dave

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.23 00:06:25