1
我想從蟒蛇傳遞一些數據的JavaScript。我在python一側使用Django,在javascript一側使用jQuery。JSON蟒蛇的JavaScript
我在Python端序列化的對象是一個字典。
除了像列表和變量這樣的簡單對象外,該字典還包含SomeClass的實例。序列化的情況下,我extendeded simplejson.JSONEncode這樣的:
class HandleSomeClass(simplejson.JSONEncoder):
""" simplejson.JSONEncoder extension: handle SomeClass """
def default(self, obj):
if isinstance(obj, SomeClass):
readyToSerialize = do_something(obj)
readyToSerialize.magicParameter = 'SomeClass'
return readyToSerialize
return simplejson.JSONEncoder.default(self, obj)
這樣,SomeClass的實例出現在JSON具有magicParameter == 'SomeClass'
這些實例可以被嵌套在不同deph字典。
現在我想在javascript端重新創建這些實例。
我基本上想哈瓦一個JSON解碼器,將所有詞典轉換與magicParameter == 'SomeClass'
到自定義JavaScript使用一個簡單的對象工廠對象:
SomeClass = function(rawSomeClass) {
jQuery.extend(this, rawSomeClass) // jQuery extend merges the newly-created object and the rawSomeClass object
}
,然後我可以添加方法類似這樣的重建原始objects:
SomeClass.prototype.get = function(arguments) {
// function body
}
如何編寫解碼器,它將掃描JSON對象並執行轉換?
如何運行這些值?可以有嵌套字典和列表。 – 2010-01-29 11:22:21
'for(變量在對象中)'是一個簡單的答案。或者您可以閱讀https://developer.mozilla.org/En/Core_JavaScript_1.5_Reference/Statements/For...in以獲得更多詳細信息 – NilColor 2010-01-29 14:36:21
這是一篇關於json在客戶端解析的非常好的文章 - http:// code .flickr.com /博客/ 2009/03/18 /建築 - 快 - 客戶端的搜索/ – viksit 2010-02-01 01:47:57