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

标签 javascript perl template-toolkit

我在 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>

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

最佳答案

有几个 TT 插件可用于执行此操作,其中任何一个都是比将原始 perl 嵌入到模板中更好的解决方案。就个人而言,我更喜欢JSON::Escape , 但还有其他一些。在每天或多或少每天编写 TT 的 5 年多时间里,我从未不得不求助于使用 [% PERL %] 指令。我想我不是在写 CGI。 YMMV.

[%- USE JSON.Escape( pretty => 1 );
    SET me = { id => 'abw', name => 'Andy Wardley' };
...
-%]

<script>
    function callme() {
    var me = [% me.json %]
    ...
</script>

关于javascript - 如何将 perl 哈希转换为 javascript 哈希,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13529284/

相关文章:

perl - 如何获取 Perl 中任何给定邮政编码的平均天气?

perl - 从日志尾部提取匹配行后退出

regex - 这个 perl 正则表达式有什么问题?

Perl - 模板合金和模板工具包数组引用

javascript - 如何从类函数内部访问对象属性

php - 外部编辑 JavaScript 变量

Perl 模板工具包 - 如何加入/连接多个变量(合二为一)

vim - VIM 中模板工具包(.tt 文件)的语法高亮显示

JavaScript 函数不工作 + var

javascript - HelloJS/me API 未返回完整结果