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