http://www.javarants.com/2008/04/13/using-google-app-engine-to-extend-yahoo-pipes/をインスピレーションとして使用しようとしていますが、出力に問題があります。
コンソールと App Engine の「django util simplejson」でテストすると明らかです。
/cygdrive/c/Program Files/Google/google_appengine/lib/django
$ python
Python 2.5.2 (r252:60911, Dec 2 2008, 09:26:14)
[GCC 3.4.4 (cygming special, gdc 0.12, using dmd 0.125)] on cygwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from django.utils import simplejson as json
>>> json.dumps('/')
'"\\/"'
>>> json.dumps('http://stackoverflow.com')
'"http:\\/\\/stackoverflow.com"
私が読むことができる限り、これは問題のない動作です:
JSON では、バックスラッシュ、二重引用符、および ASCII 制御文字のみをエスケープする必要があります。スラッシュは、次の URL の例のようにエスケープできますが、必須ではありません。
しかし、yahoopipes に入力し直すと、出力が「エスケープ解除」されず、すべての URL と HTML が機能しません。
本当にやるべきか
self.response.out.write(json.dumps(obj).replace('\\/','/'))
?
====編集===
驚いたことに、simplejson サイトからダウンロードした最新の simplejson は「スラッシュ」処理を行っていないことがわかりました :( 本当の問題はアプリ エンジンの django.util.simplejson バージョンにありますか?
=== 再編集 ===
そして今、トラッカーに問題を作成しました: http://code.google.com/p/googleappengine/issues/detail?id=1128