perl 如何访问json对象中的元素
时间:2011-03-08
来源:互联网
{"name":"china","province":[{"p_name":"shanxi","p_num":"1024"},{"p_name":"shandong","p_num":"2048"}]}
用这样一个脚本进行处理可以输出json对象:
- #!/usr/bin/perl -w
- use strict;
- use Data::Dumper;
- use JSON;
-
- my $json = new JSON;
- my $js;
-
- open JFILE, "file2";
- while(<JFILE>) {
- $js .= "$_";
- }
- my $obj = $json->decode($js);
- print Dumper $obj
$VAR1 = {
'name' => 'china',
'province' => [
{
'p_name' => 'shanxi',
'p_num' => '1024'
},
{
'p_name' => 'shandong',
'p_num' => '2048'
}
]
};
我现在想要在perl脚本中输出 p_name 为 shanxi 的 这项对应的 p_num 的数值,即 1024, 不知这个可以怎么输出呢?
作者: dolinux 发布时间: 2011-03-08
- my $num = ${${${$VAR1}{'province'}}[0]}{'p_num'};
- print $num,"\n";
作者: Cu_fans 发布时间: 2011-03-08
多谢你的回答,但是我使用之后显示:
Global symbol "$VAR1" requires explicit package name at ./get.pl line 16.
不知道是为什么,还请多多指点哈~~
作者: dolinux 发布时间: 2011-03-08
作者: Cu_fans 发布时间: 2011-03-08
作者: zhlong8 发布时间: 2011-03-08
加上my之后还是有错误提示: Can't use an undefined value as a HASH reference at ./get.pl line 16,
这个应该是不能直接使用 VAR1这个变量吧。
作者: dolinux 发布时间: 2011-03-08
多谢多谢,这个方法可以~~~
另外大家有没有一些关于 perl 处理json数据的资料或者例子呢? 借来共享下~~
作者: dolinux 发布时间: 2011-03-08
这个写法真蛋疼。。。
作者: jin2251138 发布时间: 2011-03-08
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28