2011-08-18 60 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'; 

* 注:*有被寫入到文件

希望幫助