JSONを使ってみる

perlJSONを扱う方法が分からなかったので調査


JSON::XSというモジュールを入れればよさそう


早速、モジュールインストール

cpanm JSON::XS

サンプル

#usr/bin/perl
use strict;
use warnings;
use JSON::XS;
use Data::Dumper;

# ecode
my $json_text = encode_json { scalar => 'text', array => ['data1', 'data2'], hash => { key1 => 'value1', key2 => 'value2' }, complex => ['array1' => { key1 => 'value1', key2 => 'value2' }, 'array2' => { test => 'value'}] };

# decode
my $scalar = decode_json $json_text;

# dump
print Dumper($json_text, $scalar);

実行結果

$VAR1 = '{"hash":{"key2":"value2","key1":"value1"},"array":["data1","data2"],"scalar":"text","complex":["array1",{"key2":"value2","key1":"value1"},"array2",{"test":"value"}]}';
$VAR2 = {
          'scalar' => 'text',
          'array' => [
                       'data1',
                       'data2'
                     ],
          'hash' => {
                      'key2' => 'value2',
                      'key1' => 'value1'
                    },
          'complex' => [
                         'array1',
                         {
                           'key2' => 'value2',
                           'key1' => 'value1'
                         },
                         'array2',
                         {
                           'test' => 'value'
                         }
                       ]
        };


サンプルデータが適当なので見づらいですが、正しくJSONエンコード/デコードが行えているようです


今日はJSONとDumperの使い方を学びました