Home > Net >  Referring to parts of large JSON files
Referring to parts of large JSON files

Time:10-07

I am currently trying to have python parse JSON similar to the one at https://petition.parliament.uk/petitions/560216.json. My problem is that the data I need is nested in a lot of parts and I don't know how to tell python which part to take.

A simplified version of the data I need is below

{
    "data": {
        "attributes": {
            "signatures_by_country": [
                {
                    "name": "Afghanistan",
                    "code": "AF",
                    "signature_count": 1
                },
                {
                    "name": "Algeria",
                    "code": "DZ",
                    "signature_count": 2
                },
            ]
        }
    }
}

I am trying to pull the "signature_count" part.

CodePudding user response:

The below code collect what you have asked to a list

data = {
    "data": {
        "attributes": {
            "signatures_by_country": [
                {
                    "name": "Afghanistan",
                    "code": "AF",
                    "signature_count": 1
                },
                {
                    "name": "Algeria",
                    "code": "DZ",
                    "signature_count": 2
                },
            ]
        }
    }
}

counts = [x['signature_count'] for x in data['data']['attributes']['signatures_by_country']]
print(counts)

output

[1,2]

Count by country below

counts = [{x['name']:x['signature_count']} for x in data['data']['attributes']['signatures_by_country']]

output

[{'Afghanistan': 1}, {'Algeria': 2}]
  • Related