現在位置:首頁 > Java技術 > Json > JSON & Perl

JSON & Perl

來源:原創文章   作者:極客書    瀏覽:人次

本教學將教你如何使用Perl編程語言進行編碼和解碼JSON對象。讓我們開始準備Perl編程環境並使用JSON開

環境

開始使用Perl編碼和解碼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 Perl數據結構轉換為UTF-8編碼,二進製串
decode_json 一個JSON字符串進行解碼
to_json Perl數據結構轉換為JSON字符串
from_json JSON字符串,並試圖解析它,返回結果的參考
convert_blessed 使用此函數的 true 值,以便Perl可以使用TO_JSON的方法將對象轉換成JSON對象的類。

在Perl中編碼JSON(encode_json)

Perl encode_json的() 函數Perl數據結構轉換成一個UTF-8 編碼的二進製字符串。

語法:

$json_text = encode_json ($perl_scalar );

or

$json_text = JSON->new->utf8->encode($perl_scalar);

實例

下麵的例子顯示陣列在JSON用Perl:

#!/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)

Perl decode_json()函數用於解碼JSON在Perl中。此函數返回值從json解碼適當的Perl類型

語法:

$perl_scalar = decode_json $json_text

or

$perl_scalar = JSON->new->utf8->decode($json_text)

實例

下麵的例子顯示了 Perl 如何用來解碼JSON 對象。在這裡,需要安裝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
        };
本站文章除注明轉載外,均為本站原創或編譯
歡迎任何形式的轉載,但請務必注明出處,尊重他人勞動,傳播學習教學;
轉載請注明:文章轉載自:極客書 [http://www.gitbook.net]
本文標題:JSON & Perl
轉載請保留原文鏈接:http://www.gitbook.net/html/json/2013/0906254.html
上一篇:JSON & PHP      下一篇:JSON & Python
網友評論(共0條評論)
理智評論文明上網,拒絕惡意謾罵 發表評論/共0條評論