<pre name="code" class="cpp">decode_json 必须是unicode形式的字符,Dump不支持显示unicode形式的中文 只能 x{xxxx} use URI::Escape; use Encode; use JSON qw/encode_json decode_json/; my $str="杭州"; my $str=uri_escape("$str"); print "$str is $str "; use LWP::UserAgent; my $ua = LWP::UserAgent->new; my @header = ( 'accept'=> "application/json", 'content-type'=> "application/json", 'apikey'=> "3074a7f9926a4bbb484aa8bb366e5b87", 'User-Agent' => "Mozilla/8.0" ); my $url = "http://apis.baidu.com/xiaota/bus_lines/buses_lines?city=$str&bus=$ARGV[0]&direction=$ARGV[1]"; $request = HTTP::Request->new(GET=>"$url"); $request->header(@header); $response = $ua->request($request); $content= $response->decoded_content; $content =~ s/\u([0-9a-fA-F]{4})/pack("U",,hex($1))/eg; $content = encode_utf8($content); my $json_out = $content ; print $json_out; ##解码json数据 my $json_out = decode_json($content); print "111111111111 "; use Data::Dumper; #my $json_out= Dumper($json_out->{data}->{stations}); #print $json_out; #print " "; foreach (@{($json_out->{data}->{stations})}){print encode_utf8($_->{stateName})." ";}; [root@dr-mysql01 ~]# perl x2.pl 307 1 $str is %E6%9D%AD%E5%B7%9E {"code":1000,"msg":"success!","data":{"buses":[{"busId":0,"station":10,"state":0,"distance":246,"reporTime":1}],"stations":[{"station":1,"stateName":"黄龙体育中心"},{"station":2,"stateName":"教工路花园亭"},{"station":3,"stateName":"花园新村"},{"station":4,"stateName":"浙江工商大学"},{"station":5,"stateName":"保亭巷"},{"station":6,"stateName":"教工路塘河路口"},{"station":7,"stateName":"大关桥西"},{"station":8,"stateName":"长乐路"},{"station":9,"stateName":"二纺机总厂"},{"station":10,"stateName":"沈塘湾"},{"station":11,"stateName":"善贤社区"},{"station":12,"stateName":"善贤坝"},{"station":13,"stateName":"皋亭坝"},{"station":14,"stateName":"李王桥"},{"station":15,"stateName":"袁家村"},{"station":16,"stateName":"张家园"},{"station":17,"stateName":"杭玻"},{"station":18,"stateName":"焦化分厂"},{"station":19,"stateName":"沈家桥"},{"station":20,"stateName":"毛竹山"},{"station":21,"stateName":"薄板分厂"},{"station":22,"stateName":"刘文村"}]}}111111111111 黄龙体育中心 教工路花园亭 花园新村 浙江工商大学 保亭巷 教工路塘河路口 大关桥西 长乐路 二纺机总厂 沈塘湾 善贤社区 善贤坝 皋亭坝 李王桥 袁家村 张家园 杭玻 焦化分厂 沈家桥 毛竹山 薄板分厂 刘文村