解析简单的JSON数组在Perl
问题描述:
我试图编辑旧perl脚本我就是一个完整的初学者。 从服务器返回的请求:
$result = {
"data": {
"translations": [
{
"translatedText": "Halloween"
}
]
}
}
如何可以解析此JSON字符串抢:
$result = "Halloween"
感谢。
答
你可以采取简单的方式做这样的(没有检查这个编译):
my $translatedText = ""
if ($result =~ /"translatedText": "(.+?)"/)
{
$translatedText = $1;
}
如果要分析更多的项目和不同的JSON字符串,那么你应该使用一些Perl模块(有几个可用)
+0
聪明。这会很好,但似乎并不奏效。 – ensnare
+0
我检查了这里的正则表达式:http://www.solmetra.com/scripts/regex/index.php它的工作原理...你得到什么错误? –
答
#!/usr/bin/perl
use strict;
use warnings;
use 5.010;
use JSON;
my $json = '{
"data": {
"translations": [
{
"translatedText": "Halloween"
}
]
}
}';
my $data = decode_json($json);
say $data->{data}{translations}[0]{translatedText};
perl?但为什么? –
没有选择 - 编辑现有的irssi脚本 – ensnare
请不要转发问题。 – NullUserException