我不熟悉perl并且正在尝试编辑irssi翻译脚本。 Web请求的结果返回为:
$result = {
"data" => {
"translations" => [
{
"translatedText" => "Halloween"
}
]
}
}
我如何只获取translatedText部分,以便
$string = 'Halloween'
感谢。
答案 0 :(得分:7)
"万圣节"可以获得:
$result->{"data"}->{"translations"}->[0]->{"translatedText"}
第一个之后的箭头可以省略,所以更短的变体是:
$result->{"data"}{"translations"}[0]{"translatedText"}
基本上你有不同层次的多个间接:
答案 1 :(得分:2)
那将是
$result->{data}->{translations}->[0]->{translatedText};
$result
是哈希引用。关键的“数据”指向另一个散列引用,它具有指向数组ref的键“转换”。该数组ref中的第一个也是唯一一个元素有一个键“translatedText”,它指向感兴趣的数据:'Halloween'。