perl python json_带有Perl的JSON

JSON with Perl

本章介绍如何使用Perl编程语言编码和解码JSON对象。让我们开始准备环境,开始使用Perl进行JSON编程。

环境

在使用Perl开始编码和解码JSON之前,您需要安装可从CPAN获取的JSON模块。一旦您下载了JSON-2.53.tar.gz或任何其他最新版本,请按照以下步骤操作 -

$tar xvfz JSON-2.53.tar.gz

$cd JSON-2.53

$perl Makefile.PL

$make

$make install

JSON Functions

功能

图书馆

encode_json

将给定的Perl数据结构转换为UTF-8编码的二进制字符string。

decode_json

解码JSON字符string。

to_json

将给定的Perl数据结构转换为一个json字符string。

from_json

期待一个json字符string并尝试解析它,返回结果引用。

convert_blessed

使用此函数具有真实值,以便Perl可以在对象的类中使用TO_JSON方法将对象转换为JSON。

Encoding JSON in Perl (encode_json)

Perl encode_json()函数将给定的Perl数据结构转换为UTF-8编码的二进制字符string

Syntax

$json_text = encode_json ($perl_scalar );

or

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

Example

以下示例显示了使用Perl的JSON下的数组 -

#!/usr/bin/perluseJSON;my%rec_hash=("a"=>1,"b"=>2,"c"=>3,"d"=>4,"e"=>5);my$json=encode_json \%rec_hash;print"$json

";

执行时输出结果如下-

{"e":5,"c":3,"a":1,"b":2,"d":4}

以下示例显示如何将Perl对象转换为JSON -

#!/usr/bin/perlpackageEmp;subnew{my$class=shift;my$self={name=>shift,hobbies=>shift,birthdate=>shift,};bless $self,$class;return$self;}subTO_JSON{return{%{shift()}};}packagemain;useJSON;my$JSON=JSON->new->utf8;$JSON->convert_blessed(1);$e=newEmp("sachin","sports","8/5/1974 12:20:03 pm");$json=$JSON->encode($e);print"$json

";

执行时输出结果如下-

{"birthdate":"8/5/1974 12:20:03 pm","name":"sachin","hobbies":"sports"}

解码Perl中的JSON(decode_json)

Perl decode_json()函数用于解码Perl中的JSON。此函数将从json解码的值返回到适当的Perl类型。

用法

$perl_scalar = decode_json $json_text

or

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

以下示例显示如何使用Perl来解码JSON对象。在这里,如果您的计算机上没有它,则需要安装Data :: Dumper模块。

#!/usr/bin/perluseJSON;useData::Dumper;$json="{"a":1,"b":2,"c":3,"d":4,"e":5}";$text=decode_json($json);printDumper($text);

执行时输出结果如下-

$VAR1 = {

"e" => 5,

"c" => 3,

"a" => 1,

"b" => 2,

"d" => 4

};

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值