如何使用旧字典键的先前值在另一个字典中创建字典键
因此,我通过具有许多字典值和键的json文件进行解析。我希望能够在另一个字典中创建一个新的字典键值,并从旧字典中获取所有内容并将其放入新字典中。如何使用旧字典键的先前值在另一个字典中创建字典键
原来这里是JSON文件的样子:
{"runContext": {"isAdmin": "false", "isSimulated":false, "customerId": "132", "acId": "1445017", "id":"magtest1"}}
下面是修改的JSON文件应该是什么:
{"context": {"user":{"id":"magtest1", "isSimulated":false, "customerId":"132", "isAdmin":false "acID": "1445017}}}
我不得不改变的runContext
名称上下文,然后之后,我基本上需要创建一个名为user的新对象,并将所有先前的内容与上下文一起存储并存储在新的对象用户中。我用的可是我无法从上下文中考虑的内容,并为被叫用户
这里新对象的路径名打开原始JSON文件是我写的剧本:
def jsonparse():
user_path= input("Please enter path name:")
with open(user_path) as f:
x = f.read()
jObject = json.loads(x)
context = jObject['runContext']
jObject['context']= jObject.pop('runContext')
jObject['context']['user'] = {}
jObject['context']['user'] = context
print jObject
if __name__ == '__main__':
jsonparse()
我的问题是当我试图把它打印出来,它看起来像这样
{"context":{user:{...}
它不输出出来,因为我是新来的JSON任何帮助表示赞赏用户 任何值。谢谢!
您的context
未定义。它应该是:
context = jObject.pop('runContext')
jObject['context']['user'] = {}
jObject['context']['user'] = context
我编辑了帖子。 context = jObject ['runContext']。它仍然没有把所有的键和值放入用户。 –
这样做:你有你在jObject['context']['user']
需要jObject['context']
字典
def jsonparse():
user_path= input("Please enter path name:")
with open(user_path) as f:
x = f.read()
jObject = json.loads(x)
context = jObject.pop('runContext')
jObject['context'] = {}
jObject['context']['user'] = context
print jObject
if __name__ == '__main__':
jsonparse()
上jObject['context']= jObject.pop('runContext')
之前。 现在context = jObject.pop('runContext')
后jObject
将是空的({}
),然后您将添加键jObject['context'] = {}
和上下文jObject['context']['user'] = context
希望有所帮助。
其中是'context'定义? – frozen