我对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
}
}
答案 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]