Amazon

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

2011年3月10日木曜日

JavaScriptでJSON形式を受け取るには?3

ローカルにjson2.jsを落としてくる。

JSオブジェクトJSON文字列にしたい場合は、JSON.stringify(value, replacer, space)を利用できます。
   
valueはJSオブジェクト
replacerは省略可能で、function(key, value)と言うシグネチャ関数オブジェクトを渡します。JS文字列の変換ルーチンを独自に提供できます。
spaceは、結果の文字列を人間が読みやすくするための、インデントの数を指定します。

その逆に、JSON文字列JSオブジェクトに復元したい場合は、JSON.parse(text, reviver)を使用します。

2011年2月26日土曜日

JavaScriptでJSON形式を受け取るには?

GAEからsimplejsonを使用してJSON形式で取得したデータはJavaScriptのeval()メソッドで解釈する。
但し、その際はJSON文字列を()でくくると良い。

ここで使用しているGaeEncoderはこちらを参考。


>>> jsonstr = "{\"key\":\"value\"}"
"{"key":"value"}"
>>> obj = eval("("+jsonstr+")")
[object Object]
>>> obj.key
"value"
実際にGAE側のPythonからJavaScriptに送るには
1.データモデルからgqlを使ってデータを抽出
2.GaeEncoder()でgql StringをJSON形式(list)に変換
3.content_typeを"application/json"に指定
4.responseを返却 
 
def get(self):
g_list = Field.gql('order by fieldID')
        g_listJson = GaeEncoder().encode(g_list) 
        self.response.content_type = "application/json"
        self.response.out.write(g_listJson)

Amazon3