4

我正在尝试在 perl 中创建一个输出如下内容的 json 字符串:

{"d":{"success":false, "error":"key is required"}}

我已经想出如何使用这个例子在没有“d”的情况下做到这一点:

my %rec_hash = ('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);
my $json = encode_json \%rec_hash;
print "$json\n";

但不确定我应该如何处理额外级别

4

1 回答 1

18

你需要的是一个哈希参考

use strict;
use warnings;
use JSON;

my $json = JSON->new;

my $data_to_json = {d=>{success=>JSON::false,error=>"key is required"}};

print $json->encode($data_to_json) . "\n";

输出是:

{"d":{"success":false,"error":"key is required"}}

请注意使用JSON::false来表示JSON模块将正确转换false为 JSON 值的值。

于 2013-08-26T18:25:47.520 回答