0

我曾经JSON::Parse解码一个json文件。当我将它转储到一个文件时,它看起来如下所示。我需要从每个存储库中提取“url”。我该怎么做呢?我试图访问这些元素,但似乎无法访问它们。有什么建议么?

我如何解码 .json 文件:

my $json_hash_ref = {};
$json_hash_ref= json_file_to_perl ($REPO_JSON_FILE) or confess "No repos found";

这是数据转储:

$VAR1 = {
      'repositories' => [
                        {
                          'size' => 2970,
                          'watchers' => 49,
                          'created_at' => '2012-03-20T05:04:42Z',
                          'url' => 'http://github.cerner.com/aeon-core/aeon-topology',
                          'open_issues' => 0,
                          'followers' => 49,
                          'owner' => 'aeon-core',
                          'has_downloads' => 1,
                          'has_issues' => 0,
                          'language' => 'Java',
                          'pushed' => '2014-06-17T18:32:37Z',
                          'private' => ${\$VAR1->{'repositories'}[0]{'has_issues'}},
                          'name' => 'aeon-topology',
                          'score' => '1',
                          'has_wiki' => ${\$VAR1->{'repositories'}[0]{'has_issues'}},
                          'pushed_at' => '2014-06-17T18:32:37Z',
                          'description' => '',
                          'username' => 'aeon-core',
                          'created' => '2012-03-20T05:04:42Z',
                          'homepage' => '',
                          'forks' => 59,
                          'fork' => ${\$VAR1->{'repositories'}[0]{'has_issues'}},
                          'type' => 'repo'
                        }, 
                        {
                         .....
                        },...
4

1 回答 1

2
my @urls = map $_->{url}, @{ $json_hash_ref->{repositories} };

有关遍历深度数据结构的详细信息,请阅读perl 参考教程

于 2014-06-19T15:01:58.827 回答