如何在字典中创建列表而不重复某些键[Python]?

问题描述

我想使用id_type_sale和sale_type_description创建一个数组(查看输出中的object_sale_types),并保留键email,date,order_id,store,但不要重复(假设它是相同的数据)。

输入

{
"105": [
    {
        "id_type_sale": 2,"email" : null,"date" : "2016-05-18","order_id": 105,"sale_type_description": "Coffee shop","store": "Ezio store"
    },{
        "id_type_sale": 5,"sale_type_description": "Book shop","store": "Ezio store"
    }
],"106": [
  {
      "id_type_sale": 3,"date" : "2016-05-19","order_id": 106,"sale_type_description": "Food","store": "Ezio store"
  },{
      "id_type_sale": 8,"sale_type_description": "Articles","store": "Ezio store"
  }]}

期望输出

{
"105":[
    {
        "email":null,"date":"2016-05-18","order_id":105,"store":"Ezio store","object_sale_types":[
            {
                "id_type_sale":2,"sale_type_description":"Coffee shop"
            },{
                "id_type_sale":5,"sale_type_description":"Book shop"
            }
        ]
    }
],"106":[
    {
        "email":null,"date":"2016-05-19","order_id":106,"object_sale_types":[
            {
                "id_type_sale":3,"sale_type_description":"Food"
            },{
                "id_type_sale":8,"sale_type_description":"Articles"
            }
        ]
    }
]}

我该怎么办?有什么更好的方法?我想使用python

解决方法

首先,您需要使用json.loads加载JSON字符串,然后可以迭代字典中的每个text对,并使用每个{{1 }}对象以及(key,value)value值的数组。然后,您可以使用json.dumps输出新的JSON:

id_sale_type

输出:

sale_type_description