使用Python从JSON文件中选择数据

使用Python从JSON文件中选择数据,python,json,Python,Json,我有一个JSON文件,数据集如下: [ { "key": { "domain": "mail_1.com" }, "data": { "array": [ { "area": "yey"

我有一个JSON文件,数据集如下:

[
    {
        "key": {
            "domain": "mail_1.com"
        },
        "data": {
            "array": [
                {
                    "area": "yey",
                    "number": "2000",
                    "Name": "Maria",
                    "Username": "Maria2",
                    "ID_nb": "11228169"

                }
            ]
        },
        "class": "1.1"
    },
    {
        "key": {
            "domain": "john.com"
        },
"data": {
            "array": [
                {
                    "area": "house",
                    "number": "4000",
                    "Name": "John",
                    "Username": "John22",
                    "ID_nb": "1124562"
                }
            ]
        },
        "class": "1.3"
    }
从这个JSON文件中,我试图创建一个新的JSON文件,其中包含每个key:domain和相应的data:array:area和data:array:number 它应该给出如下信息:

[
    {
        "key": {
            "domain": "mail_1.com"
        },
        "data": {
            "array": [
                {
                    "area": "yey",
                    "number": "2000"
                }
            ]
        },

    {
        "key": {
            "domain": "john.com"
        },
"data": {
            "array": [
                {
                    "area": "house",
                    "number": "4000",
                }
            ]
        }

你能帮帮我吗?谢谢你的帮助

假设您只想删除“Name”、“Username”和“ID\u nb”


如果pop中没有具有该名称的元素,则pop中的“None”只返回nothing而不是exception

,那么您能否制定您试图解决的问题?从JSON字符串获取python dict?将python dict从一种格式处理为另一种格式?仅使用我感兴趣的数据(即域)从这个JSON创建python dict,area和number并删除其余的。@Broc您将有两个选项创建一个新的json,另一个选项是从json中删除不需要的键。我的问题是,我希望选择域以及area和number(域不在同一数组中)
with open('path_to_your_file.json') as jf:
     js = json.load(jf)
     for elem in js:
         elem['data']['array'][0].pop('Name', None)
         elem['data']['array'][0].pop('Username', None)
         elem['data']['array'][0].pop('ID_nb', None)