【发布时间】:2022-04-15 16:17:45
【问题描述】:
我有一个 Mojolicious 控制器,它调用
$controller->render_to_string(json => { %{$hashref} });
# or
$controller->render_to_string(json => $hashref);
$hashref 包含在写入 JSON 对象时被转义的字符。
例如:
my $hashref = {
path => '/path/to/file'
}
输出为:
{
"path": "\\/path\\/to\\/file"
}
有没有办法通知render_to_string() 方法不要插入/转义这些值?
我应该提一下,实际的字符串是 MD5 哈希。
【问题讨论】:
-
首先用
%{ $hashref }扩展散列然后用{ ... }将其转回散列引用的目的是什么?为什么不直接使用json => $hashref?如果问题是散列内容的多个实例,请使用子或词法范围的散列定义。 -
就我而言,有点过分热情地取消引用,但是当用更简单的
$controller->render_to_string( json => $hashref );替换时,我仍然遇到相同的转义值。
标签: json perl escaping mojolicious