細かいとこで、ちょこちょこハマったので備忘録的に。
引用符はダブルクォート
JSONテキストを渡すとき、引用符はダブルクォートを使うこと。
シングルクォートだとエラーになる。
【誤】
my $json_text = "[{ 'hoge' : 'fuga' }, { 'piyo' : 'foo' }]";
【正】
{my $json_text = '{ "hoge" : "fuga" }, { "piyo" : "foo" }]';
配列の末尾にカンマ不可
Perl の利点として、末尾にカンマをくっつけたまま行きたくなるが、不可。
ひと手間かけて除去しておくこと。
【誤】
my $json_text = '{ "hoge" : "fuga" }, { "piyo" : "foo" }, ]';
【正】
my $json_text = '{ "hoge" : "fuga" }, { "piyo" : "foo" }]';
エンコード時、ハッシュ配列の引渡しは配列参照で行う
ぶっちゃけ基本。
Twitterで教えて頂いて、とてもありがたく、かつ恥ずかしかった。
@__gfx__さん、ありがとうございました!!
【誤】
my $json_text = JSON->new->encode( @array_of_hashref );
【正】
my $json_text = JSON->new->encode( \@array_of_hashref );
突然すみません。
たまたま見ていて
2011/01/31
JSON.pm でハッシュ配列をやりとりする時の注意
最後の「エンコード時、ハッシュ配列の引渡しは配列参照で行う」の
正と誤が同じ内容になっていると思えますが、私の見間違えですか?
ぎゃー、すみません。
修正いたしました。
ご指摘ありがとうございます。<(_ _)>
お恥ずかしい。///