Changeset 3463 for lang/javascript/ajaxzip2
- Timestamp:
- 12/23/07 04:07:23 (5 years ago)
- Files:
-
- 1 modified
-
lang/javascript/ajaxzip2/work/csv2jsonzip.pl (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
lang/javascript/ajaxzip2/work/csv2jsonzip.pl
r3459 r3463 1 1 #!/usr/bin/perl 2 2 # ---------------------------------------------------------------- # 3 # 郵便番号一覧 CSV ファイルを JSON ファイルに変換 3 # AjaxZip 2.0 - Ajax郵便番号→住所自動入力フォーム(CGI不要版)用 4 # 郵便番号一覧 CSV ファイルを JSON 形式に変換するスクリプト 4 5 # http://www.kawa.net/works/ajax/ajaxzip2/ajaxzip2.html 5 6 # (c) 2001-2007 Kawasaki Yusuke. All rights reserved. … … 10 11 use lib qw( lib ); 11 12 use JSON; # JSON.pm がデフォルトです 12 # use JSON::Syck; # JSON::Syckがあれば利用可能です 13 # ---------------------------------------------------------------- # 13 # use JSON::Syck; # JSON::Syckがあれば利用可能です 14 # ---------------------------------------------------------------- # 15 my $VERSION = '2.11'; 14 16 my $CSV_ENC = 'CP932'; # CSVファイルのエンコーディング 17 my $JSON_ENC = 'utf8'; # JSONファイルのエンコーディング 15 18 my $DISP_ENC = 'utf8'; # 表示用のエンコーディング 16 19 my $CSV_FILE = 'ken_all.csv'; # 入力元CSVファイル名(デフォルト) … … 174 177 my $c = 0; 175 178 179 my $use_syck = $JSON::Syck::VERSION; 180 my $use_json = $JSON::VERSION unless $use_syck; 181 my $new_json = (( $use_json =~ /^([\d\.]+)/ )[0] >= 2.0 ) if $use_json; 182 183 print STDERR "module: \tJSON.pm ($use_json)\n" if $use_json; 184 print STDERR "module: \tJSON::Syck ($use_syck)\n" if $use_syck; 176 185 print STDERR "json: \t$JSON_BASE\n"; 186 177 187 foreach my $zip3 ( sort keys %$out ) { 178 188 # JSONフォーマットでダンプする 179 189 my $data = $out->{$zip3}; 180 my $dump = $JSON::Syck::VERSION ? JSON::Syck::Dump($data) : objToJson($data); 190 my $dump = $use_syck ? JSON::Syck::Dump($data) : 191 $new_json ? to_json($data) : objToJson($data); 181 192 182 193 # JSONファイル名の決定 … … 189 200 # JSONファイルに書き出す 190 201 open( JSON, "> $jsonfile" ) or die "$! - $jsonfile\n"; 202 $dump = Encode::encode( $JSON_ENC, $dump ) if $new_json; 191 203 print JSON $dump, "\n"; 192 204 close( JSON );
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)