我目前正在编写一个脚本,该脚本将Android应用程序的元数据作为嵌套字典插入MongoDB。然而,由于一些键包括'.'
(由于APK文件中的组件名称),不幸的是,在正在处理的版本中isn't accepted by MongoDB。目前正在尝试编写一个递归脚本,将插入的dict数据中的键的'.'
替换为'/'
,但仍有一些键没有更改以满足要求
def fixKeys(dictionary):
for k,v in dictionary.items():
if isinstance(v, dict):
if '.' in k:
dictionary[k.replace('.','/')] = dictionary.pop(k)
fixKeys(v)
else:
if '.' in k:
dictionary[k.replace('.','/')] = dictionary.pop(k)
return dictionary
输入示例:
data = {"gender":"male","name.data": {"last.name":"Arabulut","first.name":"Altay","parents.names":{"father.name":"John","mother.name":"Jennifer"}}, "birthday.data":{"birthday.day":"01","birthday.month":"03","birthday.year":"1977"}}
你知道可能遗漏了什么吗
编辑后,我更正确地理解了您的问题,未知数量嵌套dict的递归解决方案如下:
输出:
很好的问题。喜欢编码和调试
相关问题 更多 >
编程相关推荐