Python - 从Dict / List中删除项目

时间:2015-12-08 22:14:18

标签: python json mongodb

我对Mongo的Webservice调用返回以下JSON。我需要迭代这个JSON值并删除Item - product_language,因为它包含NULL / Empty字符串。

关于如何做到这一点的想法?

Python 3.4版本。

{

"prod_doc_key" : "613509",

"metadata" : {
    "channel_availability_for" : {
        "description" : "Kiosk and Web",
        "id" : 0
    },

    "dd_sold_out_flag" : 0,
    "dd_units_sold_flag" : 0,
    "display_type_id" : {
        "id" : 0
    },
    "preorder_flag" : 0,
    "price_in_cart_flag" : 0,
    "product_language" : "",
    "product_type" : {
        "id" : 0,
        "name" : "Product"
    },
    "promotion_flag" : 0,
    "published" : 1,
    "rebate_flag" : 0


}

}

3 个答案:

答案 0 :(得分:2)

用json加载它,然后删除密钥,如果它是空的:

import json
item =json.loads(src)
if 'product_language' in item and not item['product_language']:
    item.pop('product_language')

在Python中,空字符串等于 False

答案 1 :(得分:1)

使用json模块加载json。

import json

with open('demo.txt','r+') as f:
    dic=json.load(f)

    try:
        if dic['metadata']["product_language"]:
            del dic['metadata']["product_language"]
    except KeyError:
        print "Key doesn't exist"
    print dic

请注意,此处dic是一个字典,您可以通过打印type(dic)来确定它。因此,您可以对其执行任何字典操作,例如,我删除了dic的键。要遍历dic,请执行:

for key,value in dic.iteritems():
    #do_something

答案 2 :(得分:0)

您可以使用以下语法从字典k中删除密钥d

del d[k]