That is the current json array I have. I want get all json objects that type=1
before filter:
[ { "type": 1 "name" : "name 1", }, { "type": 2 "name" : "name 2", }, { "type": 1 "name" : "name 3" }, ]
after filter:
[ { "type": 1 "name" : "name 1", }, { "type": 1 "name" : "name 3" }, ]
please help.
Advertisement
Answer
The following snippet of code does exactly what you want, but BEWARE that your input (as written in the question) is not a valid json string, you can check here: http://jsonlint.com.
import json input_json = """ [ { "type": "1", "name": "name 1" }, { "type": "2", "name": "name 2" }, { "type": "1", "name": "name 3" } ]""" # Transform json input to python objects input_dict = json.loads(input_json) # Filter python objects with list comprehensions output_dict = [x for x in input_dict if x['type'] == '1'] # Transform python object back into json output_json = json.dumps(output_dict) # Show json print output_json