我需要从json中提取键和嵌套键。以下是我的示例文本:
{"Field1":"a","Field2":"b","Field3":"c","AdditionalInfo":{"Name":"foo"}}
以下代码将嵌套键添加为嵌套键和常规键:
(AdditionalInfo_Name,Field1,Field2,Field3,Name)
fields = []
def flatten_dict(d):
def items():
for key, value in d.items():
if isinstance(value, dict):
for subkey, subvalue in flatten_dict(value).items():
yield key + "." + subkey, subvalue
if (key + "." + subkey) not in fields:
fields.append(key + "." + subkey)
else:
yield key, value
if key not in fields:
fields.append(key)
return dict(items())
如何修改此函数,以获得此函数?您会注意到,我不需要最后一个键Name,因为它不存在于示例文本中:
(AdditionalInfo_Name,Field1,Field2,Field3)
不完全清楚您想要的是什么,但是使用
flatten_json
库将为您提供平坦的字典,并且键非常容易相关问题 更多 >
编程相关推荐