import json
class objectjson:
def __init__(self, json_data):
if isinstance(json_data, basestring):
json_data = json.loads(json_data)
self.json_data = json_data
def __getattr__(self, key):
if key in self.json_data:
if isinstance(self.json_data[key], (list, dict)):
return objectjson(self.json_data[key])
else:
return self.json_data[key]
else:
raise Exception('There is no json_data[\'{key}\'].'.format(key=key))
def __repr__(self):
out = self.__dict__
return '%r' % (out['json_data'])
j = objectjson('{"test":{"a":1,"b":2,"c":3}}')
print(j, j.test, j.test.a)
aW1wb3J0IGpzb24KCmNsYXNzIG9iamVjdGpzb246CgogICAgZGVmIF9faW5pdF9fKHNlbGYsIGpzb25fZGF0YSk6CiAgICAgICAgaWYgaXNpbnN0YW5jZShqc29uX2RhdGEsIGJhc2VzdHJpbmcpOgogICAgICAgICAgICBqc29uX2RhdGEgPSBqc29uLmxvYWRzKGpzb25fZGF0YSkKICAgICAgICBzZWxmLmpzb25fZGF0YSA9IGpzb25fZGF0YQogICAgICAgIAogICAgZGVmIF9fZ2V0YXR0cl9fKHNlbGYsIGtleSk6CiAgICAgICAgaWYga2V5IGluIHNlbGYuanNvbl9kYXRhOgogICAgICAgICAgICBpZiBpc2luc3RhbmNlKHNlbGYuanNvbl9kYXRhW2tleV0sIChsaXN0LCBkaWN0KSk6CiAgICAgICAgICAgICAgICByZXR1cm4gb2JqZWN0anNvbihzZWxmLmpzb25fZGF0YVtrZXldKQogICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYuanNvbl9kYXRhW2tleV0KICAgICAgICBlbHNlOgogICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oJ1RoZXJlIGlzIG5vIGpzb25fZGF0YVtcJ3trZXl9XCddLicuZm9ybWF0KGtleT1rZXkpKQogICAgICAgICAgICAKICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKICAgICAgICBvdXQgPSBzZWxmLl9fZGljdF9fCiAgICAgICAgcmV0dXJuICclcicgJSAob3V0Wydqc29uX2RhdGEnXSkKCmogPSBvYmplY3Rqc29uKCd7InRlc3QiOnsiYSI6MSwiYiI6MiwiYyI6M319JykKcHJpbnQoaiwgai50ZXN0LCBqLnRlc3QuYSk=