0

可能重复:
解析 perl 数组

我正在尝试编辑一个旧的 perl 脚本,我是一个完整的初学者。来自服务器的请求返回为:

$result = {
 "data": {
  "translations": [
   {
    "translatedText": "Halloween"
   }
  ]
 }
}

如何解析这个 JSON 字符串来抓取:

$result = "Halloween"

谢谢。

4

3 回答 3

2
#!/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};
于 2011-11-25T14:25:22.193 回答
1

有无数可用的 JSON 解析模块;最标准的一个是JSON

于 2011-11-25T12:55:05.567 回答
0

您可以采取简单的方法并这样做(没有检查是否编译):

my $translatedText = ""
if ($result =~ /"translatedText": "(.+?)"/)
{
    $translatedText = $1;
}

如果您想解析更多项目和不同的 json 字符串,那么您应该使用一些 perl 模块(有一些可用的)

于 2011-11-25T12:57:17.030 回答