如何使用python删除json对象?

我正在使用python删除和更新根据用户提供的数据生成的JSON文件,因此数据库中应仅存储少量项目。我想从JSON文件中删除特定对象。

我的JSON文件是:

[

{

"ename": "mark",

"url": "Lennon.com"

},

{

"ename": "egg",

"url": "Lennon.com"

}

]

我想使用删除JSON对象enamemark

由于我是python的新手,所以我尝试通过将对象转换为dict来删除它,但它不起作用。还有其他方法吗?我尝试了这个:

index=0

while index < len(data):

next=index+1

if(data[index]['ename']==data[next]['ename']):

print "match found at"

print "line %d and %d" %(next,next+1)

del data[next]

index +=1

回答:

这是一个完整的示例,该示例加载JSON文件,删除目标对象,然后将更新的JSON对象输出到文件。

#!/usr/bin/python

# Load the JSON module and use it to load your JSON file.

# I'm assuming that the JSON file contains a list of objects.

import json

obj = json.load(open("file.json"))

# Iterate through the objects in the JSON and pop (remove)

# the obj once we find it.

for i in xrange(len(obj)):

if obj[i]["ename"] == "mark":

obj.pop(i)

break

# Output the updated file with pretty JSON

open("updated-file.json", "w").write(

json.dumps(obj, sort_keys=True, indent=4, separators=(',', ': '))

)

要点是,我们通过迭代已加载列表中的对象来找到对象,然后在找到对象后将其从列表中弹出。如果需要删除列表中的多个对象,则应存储要删除的对象的索引,然后在for循环结束后立即将它们全部删除(不希望在您遍历列表时进行修改)。

以上是 如何使用python删除json对象? 的全部内容, 来源链接: utcz.com/qa/429233.html

回到顶部