JSON
- Date
- 2006-05-06 (Sat)
- Category
- Web | javascript | php
しばらく開いてしまいました。来週、ITP の Spring Show にて、Makiko Saito 氏、Sonali Sridhar氏と共同で、taggit.in というプロジェクトを出展します。平日夜ですが、お時間のある方は是非。僕もいます。その中から、いろいろ書いておきたいことはあるのですが、詳しくは発表後
製作メモとして、今回は JSON の話。
今回のプロジェクトは、いろんなページから、taggit.in にアクセスして、データを引き出す、というのものなので、AJAX の XMLHttpRequest は domain 制限により使えません。という訳で、data は JSON にして受け渡しています。サーバ側では、Hawk 氏の JSONEncoder を使って、クライアント側では、本家にある詠み人知らずの JSON.js を活用させてもらっています。
そこで一つ問題があったのが、Single Quote (x27) の扱い。仕様上 Single quote は escape しなくていい感じですが、実際しないと困ります。例えば…
var container = JSON.parse('{"a":"hello","b":"My Uncle's house."}');
parse は String を受け取るから、Single Quote か Double Quote でくくる必要があるし、Double Quote は JSON で使われてるし…結局、少し JSONEncoder 改造しました。というか、スゴい簡単だった。69行目 前後に始まる “ $this->_transTable = array( ” に "\x27" => "\'" を一つ追加しただけ。array 全体を以下に。
$this->_transTable = array(
"\x08" => '\b',
"\x09" => '\t',
"\x0A" => '\n',
"\x0C" => '\f',
"\x0D" => '\r',
"\x22" => '\"',
"\x27" => "\'",
"\x2F" => '\/',
"\x5C" => '\\\\'
);
何か僕の知らない深遠な理由があるのかな? Single Quote を Escape しないのには…
Comment:0
Trackback:1
- TrackBack URL for this entry
- http://blogs.grf-design.com/mt/mt-tb.cgi/173
- Listed below are links to weblogs that reference
- JSON from The Croton
- JSON: Single Quote の Escape from Hawk's Laboratory : 2006-05-08 (Mon) 10:37
- Jsphonのエンコード処理について、なぜ ' (\x27:Single Quote)をエスケープしないのか?という疑問をトラックバックでいただきましたの...