पर्ल के साथ JSON
इस अध्याय में कवर किया गया है कि पर्ल प्रोग्रामिंग भाषा का उपयोग करके JSON ऑब्जेक्ट्स को कैसे एनकोड और डीकोड किया जाए। आइए JSON के लिए पर्ल के साथ हमारी प्रोग्रामिंग शुरू करने के लिए पर्यावरण तैयार करने के साथ शुरू करें।
वातावरण
इससे पहले कि आप पर्ल का उपयोग करके JSON को एन्कोडिंग और डिकोड करना शुरू करें, आपको 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 के कार्य
समारोह | पुस्तकालयों |
---|---|
encode_json | किसी दिए गए पर्ल डेटा संरचना को UTF-8 एन्कोडेड, बाइनरी स्ट्रिंग में कनवर्ट करता है। |
decode_json | JSON स्ट्रिंग को डिकोड करता है। |
to_json | दिए गए Perl डेटा संरचना को json स्ट्रिंग में कनवर्ट करता है। |
from_json | एक जस स्ट्रिंग की अपेक्षा करता है और इसे पार्स करने की कोशिश करता है, जिसके परिणामस्वरूप संदर्भ लौटता है। |
convert_blessed | इस फ़ंक्शन का उपयोग सच्चे मूल्य के साथ करें ताकि पर्ल ऑब्जेक्ट के वर्ग में TO_JSON विधि का उपयोग करके JSON में ऑब्जेक्ट को परिवर्तित कर सके। |
Perl में JSON एनकोडिंग (encode_json)
Perl encode_json () फ़ंक्शन दिए गए पर्ल डेटा संरचना को UTF-8 एन्कोडेड, बाइनरी स्ट्रिंग में कनवर्ट करता है।
वाक्य - विन्यास
$json_text = encode_json ($perl_scalar );
or
$json_text = JSON->new->utf8->encode($perl_scalar);
उदाहरण
निम्न उदाहरण पर्ल के साथ JSON के अंतर्गत सरणियाँ दिखाता है -
#!/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}
निम्नलिखित उदाहरण दिखाता है कि पर्ल वस्तुओं को 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"}
Decl में JSON को डिकोड करना (decode_json)
Perl decode_json () फ़ंक्शन का उपयोग पर्ल में JSON को डिकोड करने के लिए किया जाता है। यह फ़ंक्शन मान को json से उचित पर्ल प्रकार तक डीकोड किया गया देता है।
वाक्य - विन्यास
$perl_scalar = decode_json $json_text
or
$perl_scalar = JSON->new->utf8->decode($json_text)
उदाहरण
निम्न उदाहरण दिखाता है कि JSON ऑब्जेक्ट्स को डीकोड करने के लिए Perl का उपयोग कैसे किया जा सकता है। यहां आपको डेटा :: डम्पर मॉड्यूल स्थापित करने की आवश्यकता होगी यदि आपके पास पहले से ही यह आपके मशीन पर नहीं है।
#!/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
};