所以我运行一个GET到系统a,得到这个输出:
'{
"comment": "A good object",
"number": "1.1",
"extra_stuff": {
"extra_id": {"value": 100},
"extra_name": {"value": "Test"},
}
}'
在发布到systemb之前,我需要翻译(并省略)某些键(但保留值)。我想从这个GET和translate中得到的只是嵌套的dictionary键(extra\ stuff中的键)和其中的一个。你知道吗
翻译:
mapping_dict = { 'extra_id': 'id' }
dict_to_post = { '#KEY extra_ID': #VALUE FROM extra_ID# :, 'name' : Test, 'other' : True }
我从这里的另一个问题得到了一个翻译字典键的函数:
def update_dict_keys(obj, mapping_dict):
if isinstance(obj, dict):
return {mapping_dict[k]: update_dict_keys(v, mapping_dict) for k, v in obj.iteritems()}
else:
return obj
但我不确定如何只将嵌套字典发送到该函数中,我似乎只将“main”字典放在那里。不知道最好的方法是什么。我还需要在另一篇文章中处理来自“主”词典的信息。你知道吗
所以我发现我得到的回应已经被解码了!我遇到的问题是,解码后的响应是一个包含字典的列表。你知道吗
你确定,在
{"value": "Test"}
后面有一个,
,因为这是无效的json
,并且你的get响应看起来像json
。你知道吗如果这只是你在这里的一个错误,你可以 使用
json.loads()
从响应字符串获取字典:此外,我不明白你需要
mapping_dict
做什么。是否要将{id':100}作为结果?你知道吗相关问题 更多 >
编程相关推荐