This package will help you to reduce your stress :) while parsing json in python.
Follow the steps below for using python-jsonparser
- Install the package from pypi
pip install python-jsonparser
- Now let's assume we have a json object as below.
dummy = {
"name": {
"first_name": "ABC",
"last_name": "EFG"
},
"details": {
"phone":["xxxxxxxxx", "00xxxxxxx", "0000000000"]
}
}
- Now assume we want
first_name
,last_name
and only firstphone
number from the list. For this create a classTestClass
as below and inherit JSONParser from :
from json_parser import JSONParser
class TestClass(JSONParser):
first_name = 'name/first_name'
last_name = 'name/last_name'
phone = 'details/$1'
- Create instance of your class and pass the json object.
test_obj = TestClass(dummy)
- Now call the validate method from the object created.
output = test_obj.validate()
- You will have following as the output:
{
'first_name': 'ABC',
'last_name': 'EFG',
'phone': '00xxxxxxx'
}
- For getting the range of elements from the list you can use
$x:$y
from json_parser import JSONParser
class TestClass(JSONParser):
first_name = 'name/first_name'
last_name = 'name/last_name'
phone = 'details/$1:$3' # This will give you 2 values from the list
# Output:
# {
# 'first_name': 'ABC',
# 'last_name': 'EFG',
# 'phone': ['00xxxxxxx', '0000000000']
# }
- This was all about single object. What if you have json list of objects.
In that case set
many=True
while creating the instance of your class. For example:
test_obj = TestClass(dummy, many=True)