title: Easiest way to serialize a simple class object with simplejson?
body: <p>I'm trying to serialize a list of python objects with JSON (using simplejson) and am getting the error that the object "is not JSON serializable". </p>
  
  <p>The class is a simple class having fields that are only integers, strings, and floats, and inherits similar fields from one parent superclass, e.g.:</p>
  
  <pre><code>class ParentClass:
    def __init__(self, foo):
       self.foo = foo
  
  class ChildClass(ParentClass):
    def __init__(self, foo, bar):
       ParentClass.__init__(self, foo)
       self.bar = bar
  
  bar1 = ChildClass(my_foo, my_bar)
  bar2 = ChildClass(my_foo, my_bar)
  my_list_of_objects = [bar1, bar2]
  simplejson.dump(my_list_of_objects, my_filename)
  </code></pre>
  
  <p>where foo, bar are simple types like I mentioned above.  The only tricky thing is that ChildClass sometimes has a field that refers to another object (of a type that is not ParentClass or ChildClass).</p>
  
  <p>What is the easiest way to serialize this as a json object with simplejson?  Is it sufficient to make it serializable as a dictionary?  Is the best way to simply write a <strong>dict</strong> method for ChildClass?  Finally, does having the field that refer to another object significantly complicate things?  If so, I can rewrite my code to only have simple fields in classes (like strings/floats etc.)</p>
  
  <p>thank you.</p>