Il est possible d'utiliser le module json de python, mais aussi le module jsonpickle, plus simple d'usage, afin de transformer des objets en json, et inversement.

Notes

Pour pouvoir faire l'opération json → objet, il est nécessaire que l'objet soit défini (par exemple si je me souviens bien, si le json définit un objet de type machin, il faut que le type machin soit défini au préalable), il sera sinon transformé en dictionnaire.

Par exemple, imaginons un programme qui ouvre un .json contenant la serialisation json d'un objet <machin>, et en décode le contenu. Si la class machin est définie au sein du programme, la serialisation json sera convertie en objet de type machin. Si la classe n'est pas définie, la sérialisation deviendra un objet de type dict dont les propriétés seront accessibles sous la forme monDict[“mapropriété”].

objet -> json -> file :
# -*- coding: utf-8 -*-
import jsonpickle

class myObject(object):
	"""Basic object"""
	myFirstProperty = None
	mySecondProperty = None

class myObjectInterface(object):
	"""Generic interface for myObject"""
	def __init__(self,target):
		self.target = target

	def updateMyFirstProperty(self,newValue):
		self.target.myFirstProperty = newValue

	def updateMySecondProperty(self,newValue):
		self.target.mySecondProperty = newValue


o = myObject()
_o = myObjectInterface(o)

_o.updateMyFirstProperty('test')
_o.updateMySecondProperty('essai')

o_json = jsonpickle.encode(o)
o2 = jsonpickle.decode(o_json)
print o_json
print(o2.myFirstProperty)
print(o2.mySecondProperty)

f = open("savedJSON.json",'w')
f.write(o_json)
f.close()
file -> json -> objet :
# -*- coding: utf-8 -*-
import jsonpickle

class myObject(object):
	"""Basic object"""
	myFirstProperty = None
	mySecondProperty = None

class myObjectInterface(object):
	"""Generic interface for myObject"""
	def __init__(self,target):
		self.target = target

	def updateMyFirstProperty(self,newValue):
		self.target.myFirstProperty = newValue

	def updateMySecondProperty(self,newValue):
		self.target.mySecondProperty = newValue

f = open("savedJSON.json","r+")
o_json = f.read()
f.close()
o = jsonpickle.decode(o_json)

print o_json
print o
print(o.myFirstProperty)
print(o.mySecondProperty)