how to filter json array in python
json, python
Solution
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
Problem
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.