En Java por ejemplo existe la librería JSON-Java para tal motivo (https://github.com/douglascrockford/JSON-java).
En Python, de las mejores maneras de realizar esta tarea es con la librería jsonpickle.
jsonpickle es una librería que permite serializar objetos complejos a formato JSON, a diferencia de la librería nativa json de Python que no tiene esa funcionalidad, ya que únicamente serializa objetos simples (sin objetos como atributos), colecciones o tuplas, por ejemplo.
Para instalar la librería, basta correr un pip install jsonpickle.
A continuación un ejemplo de uso:
import jsonpickle;
from Object import Object;
mObjects = [];
mObjects.append(Object(1,"Object 1"));
mObjects.append(Object(2,"Object 2"));
mJSON = jsonpickle.encode(mObjects);
file = open("/path/file/objects.json", "w");
file.write(mJSON);
file.close();
Ejecutar el anterior código resultaría en un archivo .json con el siguiente contenido:
[
{"code":1 , "name":"Object1"},
{"code":2 , "name":"Object2"}
]