ラベル JSON の投稿を表示しています。 すべての投稿を表示
ラベル JSON の投稿を表示しています。 すべての投稿を表示

2012/07/23

文字実体参照を記号(文字)に置き換える

JSONやXMLデータを表示するクライアントを作った時などに、文字実体参照になっている記号がそのまま & とか表示されたりする。
パーサがお利口な場合はよしなに記号に置き換えてくれたりするけど、そうじゃない場合もあるので、その場合は自前で文字列置換を行ってあげる必要がある。

自前のアプリでは今のところ下記について対応していて、必要があれば適宜追加していっている。

""
""
&&
&&
''
''
&lt;<
&#60;<
&gt;>
&#62;>

てなことを &amp; が表示されちゃってるTwitterアプリを見て思ったりしたw

2010/07/01

iOS向けにiUIで「ぐぐっと!急上昇ワード」のWebアプリ版をつくってみた

以前リリースしたAndroidアプリ「ぐぐっと!急上昇ワード」のWebアプリ版をつくってみました。
どうせならということで、iPhoneっぽいUIライブラリのiUIをつかって、iOSを対象としたiPhoneアプリぽいインターフェースのWebアプリケーションになっています。


http://jp-trends.appspot.com (iOS端末またはWebkit系のブラウザでご覧ください)
自分でプログラム書く場合にデザインが二の次になるのはいかんですなぁ>俺

Androidアプリの場合はGoogleから直接XMLを取得しているのですが、Webアプリ、そしてJavaScriptということもあり、サーバ側でいったんXMLをJSONに変換しています。

Google急上昇キーワードGAEでXMLを取得しJSONに変換(cron実行)→JavaScriptでJSON取得・表示

続・ハイパフォーマンスWebサイト」によると、JSONのパースはeval()ではなくて、JSON.parse()を推奨とのことでしたので、今回そのように実装したのですが、iPod toutch(v2.2.1)やAndroid 1.6の端末ではうまくデータが取得できていないようだったので、もしかしたら、上記2機種のWebkitには、JSONのネイティブパーサが搭載されていないのかも知れません。また、iPad(v3.2)とiPhone 3GS(v4.0)で表示や挙動が若干異なる部分もあるようなので、Safari自体に差があるのか、ライブラリの問題なのか、iOSといえどもWebアプリによくある問題とは無縁ではないことを改めて実感した次第です。
今後はiUI以外のライブラリ(Senchaとか)も試してみたいですね。