如何将perl哈希转换为javascript哈希

Kal*_*lai 5 javascript perl template-toolkit

我在模板工具包框架中工作.我的tt文件中有一个perl哈希数据类型.我想将此哈希数据类型转换为javascript哈希数据类型.

代码:模板:

        [% PERL %]
        use JSON qw(encode_json);

        my $vars = {

            'version'  => 3.14,
            'days'     => [ qw( mon tue wed thu fri sat sun ) ],
            'cgi'      => CGI->new(),
            'me'       => {
                'id'     => 'abw',
                'name'   => 'Andy Wardley',
            },
        };

        my $json = encode_json($vars->{'me'});
    [% END %]


 <script>
   function callme(){
   var me = [% $json %]
  }
</script>
Run Code Online (Sandbox Code Playgroud)

现在我希望我的哈希值可以在javascript中访问

sim*_*que 2

尝试使用CPAN 中的JSON。它是JavaScript 简单对象表示法,您可以直接在 JavaScript 中使用它。

use JSON qw(encode_json);

my $vars = {

    'version'  => 3.14,
    'days'     => [ qw( mon tue wed thu fri sat sun ) ],
    'cgi'      => CGI->new(),
    'me'       => {
        'id'     => 'abw',
        'name'   => 'Andy Wardley',
    },
};
print encode_json($vars->{'me'});
Run Code Online (Sandbox Code Playgroud)

输出:

{"name":"Andy Wardley","id":"abw}
Run Code Online (Sandbox Code Playgroud)