我想在保持多个内部键的同时为json设置两个键。如何使用setdefault执行此操作?
期望的输出:
{
"Key1": {},
"Key2": {
"inner key": {
"inner inner key": "value"
}
}
}
当前代码
import json
d = {}
d.setdefault( 'key',{}).setdefault('inner key',{})['inner inner key'] = 'value'
print json.dumps(d, sort_keys=True, indent=4)
输出:
{
"key": {
"inner key": {
"inner inner key": "value"
}
}
}
答案 0 :(得分:3)
尝试:
import json
d = {}
d.setdefault( 'key1',{})
d.setdefault( 'key2',{}).setdefault('inner key',{})['inner inner key'] = 'value'
print json.dumps(d, sort_keys=True, indent=4)
答案 1 :(得分:0)
因为你无论如何都要对它进行硬编码,而且我没有看到任何setdefault的原因:
d = {'Key1': {}, 'Key2': {'inner key': {'inner inner key': 'value'}}}