>>> from benedict import benedict
>>> import json
>>> d = {
... 'id': '37e4f6e876',
... 'meta': {'data': {'category': 'category0',
... 'id': 'data_id',
... 'title': 'A title'},
... 'id': '37e4f6e876',
... 'k0': {'ka': {'key1': '',
... 'key2': 'value2',
... 'key3': 'value3',
... 'key4': True},
... 'kb': {'key1': '',
... 'key2': 'value2',
... 'key3': 'value3',
... 'key4': True},
... 'kc': {'extra_key2': 'value2',
... 'key1': '',
... 'key2': 'value2',
... 'key3': 'value3',
... 'key4': True},
... 'kd': {'key1': '',
... 'key2': 'value2',
... 'key3': 'value3',
... 'key4': True},
... 'ke': {'key1': '',
... 'key2': 'value2',
... 'key3': 'value3',
... 'key4': True},
... 'kf': {'key1': '',
... 'key2': 'value2',
... 'key3': 'separated',
... 'key4': True}},
... 'language': 'en',
... 'name': 'name_value'}}
>>> keypaths = ['id', 'meta.k0.kc', 'meta.language']
>>> d = benedict(d)
>>> d_new = benedict()
>>> for path in keypaths:
... d_new[path] = d[path]
...
>>> d_new
{'id': '37e4f6e876', 'meta': {'k0': {'kc': {'extra_key2': 'value2', 'key1': '', 'key2': 'value2', 'key3': 'value3', 'key4': True}}, 'language': 'en'}}
>>> d_new.to_json()
'{"id": "37e4f6e876", "meta": {"k0": {"kc": {"extra_key2": "value2", "key1": "", "key2": "value2", "key3": "value3", "key4": true}}, "language": "en"}}'
>>> json.dumps(d_new)
'{"id": "37e4f6e876", "meta": {"k0": {"kc": {"extra_key2": "value2", "key1": "", "key2": "value2", "key3": "value3", "key4": true}}, "language": "en"}}'
>>> d_new2 = d_new.clone()
>>> d_new2
{'id': '37e4f6e876', 'meta': {'k0': {'kc': {'extra_key2': 'value2', 'key1': '', 'key2': 'value2', 'key3': 'value3', 'key4': True}}, 'language': 'en'}}
>>> d_new2.to_json()
'{"id": "37e4f6e876", "meta": {"k0": {"kc": {}}, "language": "en"}}'
>>> json.dumps(d_new2)
'{"id": "37e4f6e876", "meta": {"k0": {"kc": {}}, "language": "en"}}'
>>>