code: def json_data(self, extraneous=False):
          
          jd = to_json(self, extraneous)
          if hasattr(self, "unknown_json_keys"):
              prop = type(self).properties['unknown_json_keys']
              if extraneous or not prop.extraneous:
                  for k, v in self.unknown_json_keys.iteritems():
                      if k not in jd:
                          jd[k] = to_json(v, extraneous)
          return jd
docs: Returns the JSON data form of this ``JsonRecord``.  The 'unknown'
          JSON keys will be merged back in, if:
  
          1. the ``extraneous=True`` argument is passed.
  
          2. the ``unknown_json_keys`` property on this class is replaced by one
             not marked as ``extraneous``