perl json unicode 编码转换

来源:互联网 发布:上海交大网络教育网 编辑:程序博客网 时间:2024/05/23 07:24
###列出组信息use  LWP::UserAgent; use LWP;use Encode;use LWP::Simple;use LWP::UserAgent;use HTTP::Cookies;use HTTP::Headers;use HTTP::Response;use Encode;use URI::Escape;use URI::URL;use JSON;use Data::Dumper;  my $ua = LWP::UserAgent->new;  $ua->agent("Mozilla/5.0 (Windows NT 6.1; rv:30.0) Gecko/20100101 Firefox/30.0");  my $cookie_jar = HTTP::Cookies->new(     file=>'lwp_cookies.txt',     autosave=>1,     ignore_discard=>1);     $ua->cookie_jar($cookie_jar);   my $token_url= 'http://127.0.0.1:8000/api2/auth-token/';                     my $res = $ua->post($token_url,                {                'username'=>'015208@zjtlcb.com',                'password'=>'1234567'                });   print $res->content();   print "\n";   my $r= $res->content();   my $r=encode_utf8($r);   my $hash = decode_json($r);   my $token =$hash->{"token"};   print "\$r is $r\n";     @header = (      'accept'=> "application/json",      'content-type'=> "application/json",      'Authorization'=> "Token $token"     );          $host="http://127.0.0.1:8000/api2/groups/";      $request = HTTP::Request->new(GET=>"$host");      $request->header(@header);        $response = $ua->request($request);      #print $response->decoded_content;  my $content=$response->content;     $r=encode_utf8($content);$arr=decode_json($r);#print Dumper(@{$arr->{"groups"}});     foreach $a (@{$arr->{"groups"}}){  my $groupname=$a->{"name"};  my $groupid=$a->{"id"};  print $groupid."---------".encode("gbk",decode("utf8",encode_utf8($groupname)))."\n";;  };解json 中文:D:\api\scripts>perl get_list_group.pl{"token": "c22dd7abe13a14371ad28775f60bd6b0d99d5a8b"}$r is {"token": "c22dd7abe13a14371ad28775f60bd6b0d99d5a8b"}6---------信息开发部应用支持中心7---------信息开发部测试中心8---------信息开发部数据中心如果不解json呢?###列出组信息use  LWP::UserAgent; use LWP;use Encode;use LWP::Simple;use LWP::UserAgent;use HTTP::Cookies;use HTTP::Headers;use HTTP::Response;use Encode;use URI::Escape;use URI::URL;use JSON;use Data::Dumper;  my $ua = LWP::UserAgent->new;  $ua->agent("Mozilla/5.0 (Windows NT 6.1; rv:30.0) Gecko/20100101 Firefox/30.0");  my $cookie_jar = HTTP::Cookies->new(     file=>'lwp_cookies.txt',     autosave=>1,     ignore_discard=>1);     $ua->cookie_jar($cookie_jar);   my $token_url= 'http://127.0.0.1:8000/api2/auth-token/';                     my $res = $ua->post($token_url,                {                'username'=>'015208@zjtlcb.com',                'password'=>'1234567'                });   print $res->content();   print "\n";   my $r= $res->content();   my $r=encode_utf8($r);   my $hash = decode_json($r);   my $token =$hash->{"token"};   print "\$r is $r\n";     @header = (      'accept'=> "application/json",      'content-type'=> "application/json",      'Authorization'=> "Token $token"     );          $host="http://127.0.0.1:8000/api2/groups/";      $request = HTTP::Request->new(GET=>"$host");      $request->header(@header);        $response = $ua->request($request);      print $response->decoded_content; D:\api\scripts>perl a1.pl{"token": "c22dd7abe13a14371ad28775f60bd6b0d99d5a8b"}$r is {"token": "c22dd7abe13a14371ad28775f60bd6b0d99d5a8b"}{"replynum": 0, "groups": [{"ctime": 1484871794663000, "creator": "015208@zjtlcb.com", "msgnum": 0, "mtime": 0, "id": 6, "name": "\u4fe1\u606f\u5f00\u53d1\u90e8\u5e94\u7528\u652f\u6301\u4e2d\u5fc3"}, {"ctime": 1484872473286000, "creator": "015208@zjtlcb.com", "msgnum": 0, "mtime": 0, "id": 7, "name": "\u4fe1\u606f\u5f00\u53d1\u90e8\u6d4b\u8bd5\u4e2d\u5fc3"}, {"ctime": 1484872522972000, "creator":"015208@zjtlcb.com", "msgnum": 0, "mtime": 0, "id": 8, "name": "\u4fe1\u606f\u5f00\u53d1\u90e8\u6570\u636e\u4e2d\u5fc3"}]}输出为unicode格式,需要把unicode转换为中文###列出组信息use  LWP::UserAgent; use LWP;use Encode;use LWP::Simple;use LWP::UserAgent;use HTTP::Cookies;use HTTP::Headers;use HTTP::Response;use Encode;use URI::Escape;use URI::URL;use JSON;use Data::Dumper;  my $ua = LWP::UserAgent->new;  $ua->agent("Mozilla/5.0 (Windows NT 6.1; rv:30.0) Gecko/20100101 Firefox/30.0");  my $cookie_jar = HTTP::Cookies->new(     file=>'lwp_cookies.txt',     autosave=>1,     ignore_discard=>1);     $ua->cookie_jar($cookie_jar);   my $token_url= 'http://127.0.0.1:8000/api2/auth-token/';                     my $res = $ua->post($token_url,                {                'username'=>'015208@zjtlcb.com',                'password'=>'1234567'                });   print $res->content();   print "\n";   my $r= $res->content();   my $r=encode_utf8($r);   my $hash = decode_json($r);   my $token =$hash->{"token"};   print "\$r is $r\n";     @header = (      'accept'=> "application/json",      'content-type'=> "application/json",      'Authorization'=> "Token $token"     );          $host="http://127.0.0.1:8000/api2/groups/";      $request = HTTP::Request->new(GET=>"$host");      $request->header(@header);        $response = $ua->request($request);      print $response->decoded_content; $f=$response->decoded_content; $f =~ s/\\u([0-9a-fA-F]{4})/pack("U",,hex($1))/eg; print $f;print encode("gbk",decode("utf8",encode_utf8($f)));

0 0