Python変換辞書はオブジェクトとなり、オブジェクト属性インスタンスに「.」でアクセスできます。


余計なことを言わないで、コードを見てください。

database = [
  {
    "name": "18D_Block",
    "xcc":{  
      "component": {
        "core":[],
        "platform":[]
      },
    },
    "uefi":{  
      "component": {
        "core":[],
        "platform":[]
      },
    }
  }
]
class Dict(dict):
  __setattr__ = dict.__setitem__
  __getattr__ = dict.__getitem__
 
def dict_to_object(dictObj):
  if not isinstance(dictObj, dict):
    return dictObj
  inst=Dict()
  for k,v in dictObj.items():
    inst[k] = dict_to_object(v)
  return inst
#         ,   "."        
res = dict_to_object(database[0])
print res.name
print res.xcc
print res.xcc.component
print res.xcc.component.core
補足知識:[Python]辞書vars()関数:辞書の種類でオブジェクトの属性と属性値を抽出します。
機能
オブジェクトの属性と属性値を抽出し、戻り値はdictorry辞書タイプです。
構文
vars(object)
実例

>>>print(vars())
{'__builtins__': <module '__builtin__' (built-in)>, '__name__': '__main__', '__doc__': None, '__package__': None}

>>> class Test:
...   a = 1
... 

>>> print(vars(Test))
{'a': 1, '__module__': '__main__', '__doc__': None}

>>> test = Test()
>>> print(vars(test))
{}
x=1については、このような割当文が実行された後、名称xは値1に参照されます。これは辞書のように、キーの参照値です。もちろん、変数と対応する値は「見えない」辞書を使います。私たちはvars関数を使ってこの辞書を返すことができます。

>>> x = 1
>>> scope = vars()
>>> scope["x"]
1
以上のPython変換辞書が対象となり、対象属性の例に「.」を使ってアクセスできるようになりました。つまり、小編集が皆さんに共有しているすべての内容です。参考にしてもらいたいです。どうぞよろしくお願いします。