2013-11-20 4 views
1

Я хочу Json для класса Python.Как преобразовать json в класс python?

пример

{'channel':{'lastBuild':'2013-11-12', 'component':['test1', 'test2']}} 

self.channel.component[0] => 'test1' 
self.channel.lastBuild => '2013-11-12' 

вы знаете питона библиотеку JSON преобразования?

+0

[json] (http://docs.python.org/2/library/json.html) –

ответ

10

Используйте object_hook специальный параметр в нагрузочных функций модуля JSon:

import json 

class JSONObject: 
    def __init__(self, dict): 
     vars(self).update(dict) 

#this is valid json string 
data='{"channel":{"lastBuild":"2013-11-12", "component":["test1", "test2"]}}' 

jsonobject = json.loads(data, object_hook= JSONObject) 

print(jsonobject.channel.component[0] ) 
print(jsonobject.channel.lastBuild ) 

Этот метод имеет некоторую проблему, так как некоторые имена в python зарезервированы. Вы можете отфильтровать их внутри метода __init__.

Смежные вопросы