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): self.email=email self.contact=contact self.name=name self.skills=[skills] self.edu={"ug":[ug],"pg":[pg]}
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": [ "CS" ], "ug": [ "CS" ] }, "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!
Recent blog posts
- watir-webdriver web inspector
- gem list to gemfile
- Packing ruby2.0 on debian.
- Made it into The Guinness Book!
- to_h in ruby 2.0
- Filter elements by pattern jQuery.
- Better HTML password fields for mobile ?
- Grayscale image when user offline
- nth-child CSS pseudo-class Christmas colors
- EventEmitter in nodejs