مشخصات مقاله
-
4
-
0.0
-
3279
-
0
-
0
آموزش JSON در Perl
JSON در Perl
این مبحث نحوه ی decode/encode اشیا JSON را با استفاده از زبان برنامه نویسی Perl پوشش می دهد. ابتدا می بایست محیط را برای شروع به برنامه نویسی با Perl راه اندازی کنید.
محیط
پیش از اقدام به encode/decode اشیا JSON با Perl می بایست ماژول JSON را نصب کنید. این ماژول از طریق CPAN قابل دسترسی می باشد. پس از دانلود JSON-2.53.tar.gz یا هر ورژن جدید دیگری، دستورات زیر را اجرا نمایید:
$tar xvfz JSON-2.53.tar.gz $cd JSON-2.53 $perl Makefile.PL $make $make install
توابع JSON
تبدیل data structure به رشته ی json (encode-json)
()تابع encode-json زبان Perl ساختمان داده ی ورودی (data structure) را به رشته ی باینری کدگذاری شده با کاراکترهای UTF-8 تبدیل می کند.
ساختارنگارشی (Syntax)
$json_text = encode_json ($perl_scalar ); or $json_text = JSON->new->utf8->encode($perl_scalar);مثال:
#!/usr/bin/perl
use JSON;
my %rec_hash = ('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);
my $json = encode_json \%rec_hash;
print "$json\n";
با اجرای کد فوق، نتیجه ی زیر حاصل می شود:
{"e":5,"c":3,"a":1,"b":2,"d":4}
نمونه ی زیر تبدیل اشیا Perl به فرمت JSON را نمایش می دهد:
#!/usr/bin/perl
package Emp;
sub new {
my $class = shift;
my $self = {
name => shift,
hobbies => shift,
birthdate => shift,
};
bless $self, $class;
return $self;
}
sub TO_JSON { return { %{ shift() } }; }
package main;
use JSON;
my $JSON = JSON->new->utf8;
$JSON->convert_blessed(1);
$e = new Emp( "sachin", "sports", "8/5/1974 12:20:03 pm");
$json = $JSON->encode($e);
print "$json\n";
پس از اجرای کد فوق، خروجی زیر تولید می شود:
{"birthdate":"8/5/1974 12:20:03 pm","name":"sachin","hobbies":"sports"}
تبدیل رشته ی JSON به متغیری از نوع Perl (decode_json)
تابع ()decode_json یک رشته ی JSON را به عنوان ورودی دریافت کرده و یک متغیر Perl در خروجی برمی گرداند.
ساختارنگارشی (Syntax)
$perl_scalar = decode_json $json_text or $perl_scalar = JSON->new->utf8->decode($json_textمثال:
در مثال زیر یک شی JSON توسط تابع ()decode_json به متغیری در زبان Perl تبدیل می شود. برای این منظور لازم است ماژول Data::Dumper را نصب نمایید.
#!/usr/bin/perl
use JSON;
use Data::Dumper;
$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';
$text = decode_json($json);
print Dumper($text);
نتیجه ی زیر حاصل می شود:
$VAR1 = {
'e' =>5,
'c' =>3,
'a' =>1,
'b' =>2,
'd' =>4
};
کلیه حقوق مادی و معنوی این مقاله متعلق به آموزشگاه تحلیل داده بوده و هر گونه استفاده غیر قانونی از آن پیگرد قانونی دارد.