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 に答える