Python objects to JSON string

Python provides a easy way to handle JSON, by importing the**  json  **module, one can easily encode a list of dicts or a dict of dicts so on, but there is a easy trick to generate a JSON or even a nested JSON string from an object of a class.

`json.dumps(obj[, skipkeys[, ensure_ascii[, check_circular[, allow_nan[, cls[, indent[, separators[, encoding[, default[, **kw]]]]]]]]]])`=> Serialize obj to a JSON formatted str

Consider an example, classic class called Student with few attributes like email,contact,name,skills,edu. Which are updated by other methods or at object creation.

class Student:
def __init__(self,name,email,contact,skills,ug=None,pg=None):


Creating an instance of that class and prints the vars() we get something like :

james=Student("James","[email protected]","","+1 7789990007","Python","CS", "CS")
print vars(james)
    'skills': ['Python'],
    'contact': '+1 7789990007',
    'email': [email protected]',
    'edu': {
        'ug': ['CS'],
        'pg': ['CS']
    'name': 'James'
import json
print json.dumps(vars(james),sort_keys=True, indent=4)
    "contact": "+1 7789990007", 
    "edu": {
        "pg": [
        "ug": [
    "email": "[email protected]", 
    "name": "James", 
    "skills": [
        "Python Ruby"

P.S : This is just on the ways to Serialize obj to a JSON formatted str. Do share your ways below!

Share this