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 ";
在执行过程中,这将产生以下结果:
{"e":5,"c":3,"a":1,"b":2,"d":4}
下面的示例显示了如何Perl对象可以转换成JSON:
#!/usr/bin/perlpackage 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 ";
在执行过程中,这将产生以下结果:
{"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_textor$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};
JSON Perl相关推荐
- perl6检测网站CMS脚本(测试代码)
代码如下: use HTTP::UserAgent; use JSON::Tiny;my $check-url = 'www.baidu.com'; #say @*ARGS[0]; #检测命令行参数 ...
- Web指纹识别器系列1:开源项目搜集和反思
文章目录 前言 指纹识别工具 百度检索 Github 在线识别 信息整理 筛选工具 在线平台 反思总结(20%关键) 前言 本文用时 信息搜集和整理:60 minutes(then have a re ...
- 第1篇:Python 环境搭建
千里之行始于足下,今天我们先来学习 Python 环境搭建. Python 介绍 Python(英国发音:/ˈpaɪθən/ 美国发音:/ˈpaɪθɑːn/)是一种广泛使用的解释型.高级编程.通用型编 ...
- linux编程用到什么编程语言,学好编程第一步,你得学会用什么工具来提高编写效率...
怎么选用编辑器 大家在学习编程的时候,必然要面临一个问题,选用什么编辑器来编写代码.编辑器有很多种,一般可以分为两类,一种是文本编辑器,一种是IDE.文本编辑器就是简单的书写文本,比较常见的是vim, ...
- Bat大厂程序员常用的IDE工具,你接触过哪些?
一.Jetbrains全家桶 JetBrains是一家捷克的软件开发公司,大家对它一定不陌生,如果陌生那你也一定用过他家的IDE工具集,比如,以下的产品. · IDE相关 AppCode- 适用于 i ...
- 盘点 | 好用的开发者IDE工具
一.Cloud Toolkit Cloud Toolkit 是一款 IDE 插件,可以帮助开发者更高效地开发.测试.诊断并部署应用.通过 Cloud Toolkit,开发者能够方便地将本地应用一键部署 ...
- 工具推荐丨最适合程序员的六款好用 IDE 工具,赶紧收藏吧!
今天给学编程的你们推荐六款好用的IDE工具,快来看看吧! 一.Cloud Toolkit Cloud Toolkit 是一款 IDE 插件,可以帮助开发者更高效地开发.测试.诊断并部署应用.通过 Cl ...
- 10个最好用的Python开发工具(IDE)
对于程序员来说,除了日常争论世界上最好的语言是哪一门以外,哪款 IDE 是最好的也是争议颇多,今天我们就来介绍 10 款最好的 Python 编程 IDE,总有一款适合你! PyCharm PyCha ...
- perl malformed JSON string, neither tag, array, object, number, string or atom, at character offset
[root@wx03 ~]# cat a17.pl use JSON qw/encode_json decode_json/ ; use Encode; my $data = [{'name' =&g ...
最新文章
- web前端开发培训完就业前景怎么样
- 设置RabbitMQ远程ip登录
- python codecs模块
- vs编译protobuf 3.0.0
- Oracle常用工具
- 《软件设计精要与模式》第二版源代码
- 面向对象C语言编程--抽象数据类型-AbstractDataTypes
- unity mysql生成cexcel_【C#附源码】数据库文档生成工具支持(Excel+Html)
- pytorch 画loss曲线_Pytorch使用tensorboardX可视化。超详细!!!
- jquery实现的时间轴
- 区分iphone和ipad 函数sysctlbyname 来获取设备名称
- linux下xampp的使用教程,Linux下安装xampp教程
- 【读书笔记】名创优品的101个新零售细节-张桓.杨永朋,品质和供应链是核心竞争力
- 13.6 SpringBoot集成Mongodb开发问题@EnableMongoRepositories路径配置
- 大气科学领域必备的模型软件汇总丨WRF、WRF-CMAQ、WRF-Chem、WRF-Hydro、WRF DA、PMF、MCM、CAMx、SMOKE、CMIP6等
- Mac电脑蓝牙连接出问题了,如何重置Mac的蓝牙模块
- Android 游戏引擎libgdx之Box2D Hello Box2D
- CocosCreator高斯模糊深度优化版
- IDEA 使用ctrl + alt + 方向键无法返回上一步解决办法
- Date.getTime() 方法
热门文章
- python之Excel操作
- LeetCode-9-Palindrome Number
- 开启OpenStack Api跨域请求(CORS)功能
- Chrome即将封杀Google Earth、Google Talk等插件
- MySQL数据库性能优化之硬件瓶颈分析
- Linux下用多种模式实现双网卡绑定!
- Word 2007批注及批注者姓名修改技巧
- 利用中继攻击解锁并开走汽车,本田不打算修复(含视频)
- 苹果紧急修复远程漏洞,影响数十亿设备
- Kramdown 配置不当引发 GitHub Pages 多个 RCE,得 $2.5万($6.1万系列之二)