استفاده از JSON در Perl
در این بخش چگونگی encoding و decoding اشیاء JSON در زبان برنامه نویسی Perl را بررسی خواهیم کرد. قبل از شروع کار باید ماژول مربوط به JSON را از CPAN نصب کنیم. هنگامی که فایل JSON-2.53.tar.gz یا هر نسخه جدیدی را دانلود کردید، مراحل زیر را دنبال کنید:
1 2 3 4 5 | $tar xvfz JSON-2.53.tar.gz $cd JSON-2.53 $perl Makefile.PL $make $make install |
توابع JSON
تابع | توضیحات |
encode_json | مقدار داده شده را به یک رشته encode شده و باینری UTF-8 تبدیل می کند. |
decode_json | یک رشته JSON را decode می کند. |
to_json | مقدار داده شده را به یک رشته JSON تبدیل می کند. |
from_json | مقدار جیسون داده شده را تجزیه می کند. |
convert_blessed | اگر از این تابع با مقدار پارامتر true استفاده کنید، Perl می تواند از متد TO_JSON برای تبدیل کردن یک شیء به جیسون استفاده کنید. |
Encode کردن JSON
تابع encode_json در زبان برنامه نویسی Perl مقدار داده شده را به یک رشته encode شده و باینری UTF-8 تبدیل می کند. در زیر می توانید سینتکس مربوط به این تابع را مشاهده کنید:
1 2 3 | $json_text = encode_json ($perl_scalar ); or $json_text = JSON->new->utf8->encode($perl_scalar); |
مثال
1 2 3 4 5 | #!/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 "$jsonn"; |
خروجی:
1 | {"e":5,"c":3,"a":1,"b":2,"d":4} |
مثال زیر نحوه تبدیل یک شیء به JSON را نشان می دهد:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | #!/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 "$jsonn"; |
خروجی:
1 | {"birthdate":"8/5/1974 12:20:03 pm","name":"sachin","hobbies":"sports"} |
Decode کردن JSON
تابع decode_json در زبان برنامه نویسی Perl برای decode کردن مقادیر JSON استفاده می شود. در زیر می توانید سینتکس مربوط به این تابع را مشاهده کنید:
1 2 3 | $perl_scalar = decode_json $json_text or $perl_scalar = JSON->new->utf8->decode($json_text) |
مثال
مثال زیر نحوه decode کردن یک شیء جیسون در زبان perl را نشان می دهد. در این مثال ما از ماژول Data::Dumper استفاده کرده ایم.
1 2 3 4 5 6 | #!/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); |
خروجی:
1 2 3 4 5 6 7 | $VAR1 = { 'e' => 5, 'c' => 3, 'a' => 1, 'b' => 2, 'd' => 4 }; |
هیچ نظری ثبت نشده است