将JSON字段复制到另一个JSON结构的最pythonic方法是什么?

时间:2012-06-02 07:44:32

标签: python json python-3.x

以下是上下文:

**我有一个数据库无法接受其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感兴趣。

感谢

1 个答案:

答案 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)