2011-08-18 52 views
1
保存JSON文本

嗨,我是新的Perl我有一个问题,从BING JSON保存文本如何从兵使用perl

这里

use strict; 
use warnings; 
use LWP::UserAgent; 
my $uagent = LWP::UserAgent->new; 
my $bing = $uagent->get("http://api.bing.com/osjson.aspx?query=microsoft")->content; 
print "$bing\n"; 

我想通过线将其保存到文本文件中的行只有

  • 微软
  • 微软安全必备
  • Microsoft更新
  • 的Microsoft Office
  • 微软下载
  • Microsoft Word中
  • 微软模板
  • 微软更新

回答

3

的JSON模块可用于将数据解析成一个Perl的结构,然后打印出所需的数组元素。将此代码添加到脚本的底部。

use JSON; 
my $data = decode_json($bing); 
print join ',', @{ $data->[1] }; 
+0

OWH我忘了$ FH和值之间没有逗号更何况我想输出逐行写出如何格式化输出 – kama

0

首先你想从CPAN安装JSON模块。您可以通过在命令行中键入以下命令(假设Linux)的

$ cpan JSON 

那么你一定要使用解码功能

my $json = JSON->decode($bing); 

我不是真的到了JSON字符串转换为对象进行解码做到这一点确保你想在这里做,但将数据保存到一个文本文件,你必须首先打开一个文件句柄

open my $FH, '>', 'filename.txt' or die "Failed to open file: $!"; 

然后写一个消息给它您只需打印到刚才打开的文件句柄($ F什么1H)

print $FH 'This will be in filename.txt'; 

* 注:*有被写入到文件

希望帮助