python - 从 JSON 加载类变量?

标签 python json python-2.7

我有一个类,我将从 JSON 行中对其进行大量实例化。像这样的东西:

class Something:
    def __init__(self, json):
        #load all self variables from simplejson.loads(json) here
        print self.some_variable_loaded_from_json

我希望它尽可能高效,因为此类每秒加载数百次。我知道我可以在从 simplejson 生成的字典中使用键/值对执行 for 循环,但是如果有一种方法可以让 simplejson 直接加载到类变量而无需 O(n) 开销,那就太棒了。

最佳答案

如果您只是将 JSON 数据加载到 Python 对象中,只需将相关字典传递给 __init__ 方法 - 在那里您可以简单地覆盖您的实例 __dict__传入字典:

>>> import json
>>> json_data =  '{"a": "my data"}'
>>> data = json.loads(json_data)
>>> class AutoVar(object):
...   def __init__(self, data):
...       self.__dict__ = data
... 
>>> test = AutoVar(data)
>>> test.a
u'my data'

关于python - 从 JSON 加载类变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12539976/

相关文章:

json - SQL Server JSON_VALUE 语法

java - 从 spring Controller 返回 json 数组

java - java程序的JSON问题

python - 在 Python 进程之间共享内存中的大型数据结构?

python - 在 django1.1 testserver 中多次注册信号

python装饰器不从传递的常量中获取值

python - 为什么我得到错误的 XOR 输出

python - 在满足要求时撤消功能

python - sendLine 中的扭曲类型错误

python - 是否可以检查变量是否满足存储为字符串的逻辑表达式?