Question: I have a JSON file thats goes that way :

[![enter image description here](https://i.stack.imgur.com/s629L.png)](https://i.stack.imgur.com/s629L.png)

As you can see, for the category Chemistry, theres two blocks. In this JSON file, theres different categories, and I would like to count how many times there is "id's" inside a each category.

So for this example, I would like to have the sum of blocks found under "Chemistry".

This is what I did , but I received "TypeError:String indices must be integers"

```
import json

with open('prize.json') as jsonfile:

  nobel=json.load(jsonfile)
  prizes = nobel

  count = sum([len(item['prizes']['chemistry']) for item in nobel])
  print(count)

```

EDIT:

here is the JSON link:
<http://api.nobelprize.org/v1/prize.json>

And here the JSON viewer since it's very messy:
<http://jsonviewer.stack.hu/>

Answer: 
Try this ?

```
sum([len(item["laureates"]) for item in nobel["prizes"] if item["category"] is 'chemistry' and "laureates" in item])

```

`nobel` is basically the data you've read.
first, you must known the structure of this json:
this json is an Object with a key "prizes",then the key "prizes" is an array, so if you want to get the content what you want,you must get the array from the "prizes" key

```
whatYouWillGet = [item for item in nobel]
print(whatYouWillGet)
// it will print ["prizes"]

```