Python 从字典将指定的键值加载到json对象中

Python 从字典将指定的键值加载到json对象中,python,json,dictionary,parsing,Python,Json,Dictionary,Parsing,我希望将字典加载到json对象中,但不是所有键和值 示例字典: full_dict = { 'code': 1, 'length': 20, 'height': 45, 'name':"book" } 我想让它成为一个json对象,我已经使用了 json.dumps(full_dict) 但我只想上传该词典中选定的字段,就像只上传这些字段一样: part_dict = {

我希望将字典加载到json对象中,但不是所有键和值

示例字典:

full_dict = {
            'code': 1,
            'length': 20,
            'height': 45,
            'name':"book"
        }
我想让它成为一个json对象,我已经使用了

json.dumps(full_dict)
但我只想上传该词典中选定的字段,就像只上传这些字段一样:

part_dict = {
            'length':20,
            'height':45,
            'name':"book"
        }
总之,我希望使用:

json.dumps(full_dict)
并应使用以下json对象:

{"length": 20, "height": 45, "name": "book"}
谢谢您,非常感谢您的时间。

Python 3.6

exclusion_list = ['code']
json.dumps({x:y for x,y in full_dict.items() if x not in exclusion_list)

Python 3.6

exclusion_list = ['code']
json.dumps({x:y for x,y in full_dict.items() if x not in exclusion_list)


你可以过滤钥匙

导入json 完整目录={ “代码”:1, “长度”:20, 身高:45, “名称”:书 } 过滤=记录[k,v表示k,v表示完整记录。如果k表示['length','height','name']] printjson.dumpsfiltered {长:20,高:45,名:书}


你可以过滤钥匙

导入json 完整目录={ “代码”:1, “长度”:20, 身高:45, “名称”:书 } 过滤=记录[k,v表示k,v表示完整记录。如果k表示['length','height','name']] printjson.dumpsfiltered {长:20,高:45,名:书}


您可以在将字典写入磁盘之前对其进行筛选:

full_dict = {
            'code': 1,
            'length': 20,
            'height': 45,
            'name':"book"
        }

keep = ['length', 'height', 'name']

partial_dict = {k: v for k, v in full_dict.items() if k in keep}
print(partial_dict)

如果有很多字段,那么将keep改为用于O1查找的字典是一个简单的优化。

您可以在将字典写入磁盘之前对其进行筛选:

full_dict = {
            'code': 1,
            'length': 20,
            'height': 45,
            'name':"book"
        }

keep = ['length', 'height', 'name']

partial_dict = {k: v for k, v in full_dict.items() if k in keep}
print(partial_dict)

如果有很多字段,那么将keep改为用于O1查找的字典是一个简单的优化。

我只会保留一个您想要保留或放弃的密钥列表,或者以任何其他方式确定您想要的密钥

然后,只需过滤字典并创建一个新的字典即可保存并将其封装为函数以重用代码:

keys_to_keep = {'length', 'height', 'name'}

part_dict = {key: value for (key: value) in full_dict.items() if key in keys_to_keep}
json.dumps(part_dict)

dict.items生成您可以迭代的键和值对,keys_to_keep是一个集合,以便在O1中签入。在编写此文件时出现的其他答案都使用签入的列表

我会一直保留一个你想要保留或丢弃的钥匙列表,或者用任何其他方式来确定你想要什么钥匙

然后,只需过滤字典并创建一个新的字典即可保存并将其封装为函数以重用代码:

keys_to_keep = {'length', 'height', 'name'}

part_dict = {key: value for (key: value) in full_dict.items() if key in keys_to_keep}
json.dumps(part_dict)
dict.items生成您可以迭代的键和值对,keys_to_keep是一个集合,以便在O1中签入。在编写此文件时出现的其他答案都使用签入的列表

您可以使用带有重写编码方法的自定义JSONECODER类从输入目录中弹出代码键:

例如:

如图所示,将encoder类作为cls参数传递给json.dumps。

您可以使用自定义的JSONeCoder类和重写的encode方法从输入dict中弹出代码键:

例如:

如图所示,将编码器类作为cls参数传递给json.dumps