使用python删除多个JSON中的重复数组

使用python删除多个JSON中的重复数组,python,arrays,json,python-3.x,list,Python,Arrays,Json,Python 3.x,List,我有多个JSON记录,比如 { "Stat": "DEN", "Change": [{ "From": "", "To": "DEN", "changeTimestamp": "20200325000000" },

我有多个JSON记录,比如

{
    "Stat": "DEN",
    "Change": [{
            "From": "",
            "To": "DEN",
            "changeTimestamp": "20200325000000"
        },
        {
            "From": "",
            "To": "DEN",
            "changeTimestamp": "20200325000000"
        },
    ],
    "Date": 20200401
}
因为数组中有重复的更改,所以需要消除它们

{
    "Stat": "DEN",
    "Change": [{
            "From": "",
            "To": "DEN",
            "changeTimestamp": "20200325000000"
        }
    ],
    "Date": 20200401
}
由于它是一个数组,我无法使用列表, 我有一个类似的代码

doc['Changes'] = list(set(doc['Changes'])) if doc['Changes'] else []
它适用于列表中的项目 但我知道这不是一个列表这是一个数组它不会工作,
我可以得到帮助吗,请

您可以通过字典理解删除重复的键,因为字典不允许重复的键。我将
的标准设置为
,因为您在同一个接收器上发送了两次

{each['To']: each for each in doc['Changes']}.values()

如果存在重复项,则需要更正以生成一个,如果只有一个,则不应获得分发…这将正常工作?是的,它将正常工作,因此它应该像doc['Changes']={each['to']:doc['Changes']}.values()中的每个。我是对的吗?是的,你是对的。非常感谢最后一个问题,如果我有类似json的更改有两个唯一的值(三个值中有两个是重复的){“Status”:“CLO”,“Changes”:[{“From”:“To”:“ACT”,“changeTimestamp”:“20200325000000”},{“From”:“DEC”,“To”:“ACT”;“changeTimestamp”:“20200325000000”},{“From”:“DEC”,“To”:“ACT”,“changeTimestamp:”20200325000000“}],”Date:”20200401}到底是什么“它不是一个列表它是一个数组”?它不是一个类似于“Changes”的列表[1,2,3,4]。它是上面的数组好吧,但是什么?
doc['Changes']
肯定是一个
列表
。它不是一个类似于“Changes”的列表[1,2,3,4].它是上面提到的数组。你这是什么意思?也许你应该用Python术语来澄清自己。
类型([1,2,3,4])
给出了
列表。