以下是上下文:
**我有一个数据库无法接受其JSON结构的部分更新,修改记录必须读取整个JSON记录,进行修改,然后回写JSON记录,覆盖以前的JSON记录。 /> **我们收到最终用户对这些JSON记录的更新。我们不会盲目地相信用户提供了有效且完整的新JSON记录,因此我们检查他们的更新是否仅包含我们允许的字段名。
**所以,目标是说:
1: receive inbound JSON from user along with record id
2: grab the existing JSON from the database for that record id
3: for each fieldname in (a list of permitted fieldnames)
4: if the fieldname is present in the inbound JSON
5: add that field or update its contents to the existing JSON record
6: write the resulting JSON structure back to the database
我的问题是,实施步骤3,4和5的最pythonic方式是什么?
我知道Python在这些方面非常擅长,我看到一些非常优雅的代码可以做类似的事情。
有人能建议一种非常优雅和Pythonic的一般方法吗?
请注意我只对Python 3感兴趣。
感谢
答案 0 :(得分:2)
existing = {"a": 1, "b": 2, "c": 3}
inbound = {"b": 3, "c": 4, "d": 5}
permitted = {"a","b","c"}
existing.update((key, val) for (key, val) in inbound.items() if key in permitted)