In Python können Sie eine JSON-Datei problemlos mit dem Standard-JSON-Modul analysieren, aber es ist ein kleines Diktat. Machen wir sie also punktuell zugänglich.
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import json
class Json(object):
def __init__(self, **kwargs):
[setattr(self,k,v) for k,v in kwargs.items()]
def hook(dct):
return Json(**dct)
def load(filename):
with open(filename) as f:
obj = json.load(f, object_hook=hook)
return obj
if __name__ == '__main__':
config = load('config.json')
print(config.conf_1) # conf_1
print(config.conf_2.conf_21[0]) # conf_221
config.json
{
"conf_1" : "conf_1",
"conf_2" : {
"conf_21" : "conf_21",
"conf_22" : [ "conf_221", "conf_222" ]
}
}
object_hook
an die json.load
Methode.hook
, angegeben in object_hook
, wird das Schlüsselwort erweitert und an den Konstruktor der vorbereiteten Json
-Klasse verteilt.Recommended Posts