JSON简介
JSON:JavaScript 对象表示法(JavaScript Object Notation)。
JSON 是轻量级的文本数据交换格式
JSON 独立于语言和平台,JSON 解析器和 JSON 库支持许多不同的编程语言
JSON 具有自我描述性,更易理解
JSON语法:
数据在名称/值对中
数据由逗号分隔
花括号保存对象
方括号保存数组
JSON例子
JSON 值可以是:
数字(整数或浮点数)
字符串(在双引号中)
逻辑值(true 或 false)
数组(在方括号中)
对象(在花括号中)
null
对象
{ "firstName":"John" , "lastName":"Doe" }
数组
{ "employees": [ { "firstName":"John" , "lastName":"Doe" }, { "firstName":"Anna" , "lastName":"Smith" }, { "firstName":"Peter" , "lastName":"Jones" } ] }
Perl解析JSON
JSON文件(comment.json):
{ "A":[ {"name":"a","png":"b.png","comment":"c"}, {"name":"1","png":"2.png","comment":"3"}, ], "B":[ {"num":"d","jpg":"e"}, {"num":"4","jpg":"5"}, ], }
解析上面文件的perl脚本(用的JSON包):
#!/usr/bin/perl
use strict;
use warnings;
use Getopt::Long;
use Data::Dumper;
use JSON;
print "测试json数据...\n";
my $json = new JSON;
my $js ;
if(open(Myfile,"comment.json")){
printf "打开json数据成功\n";
while(<Myfile>){
$js .= "$_";
}
my $obj = $json->decode($js);
#printf Dumper($obj)."\n";
for my $item(@{$obj->{'qc'}}){
my $name = $item->{'name'} ;
my $png = $item->{'png'} ;
my $comment = $item->{'comment'} ;
print $name."\n";
print $png."\n";
print $comment."\n";
}
}
else{die("打开json数据失败!!!!!!");}
网友评论