code: def _write_dict(self, val, outstream):
          '''
          write a dictionary
          :param val:
          :param outstream:
          '''
          fields = val.keys()
          length = len(fields)
          self.write_dict_start(length, outstream)
          if length > 0:
              self.write_dict_field(fields[0], val[fields[0]], outstream)
              idx = 1
              while idx < length:
                  name = fields[idx]
                  value = val[fields[idx]]
                  self.write_dict_field_separator(name, value, outstream)
                  self.write_dict_field(name, value, outstream)
                  idx += 1
          self.write_dict_end(length, outstreamf _write_dict(self, val, outstream):
          '''
          write a dictionary
          :param val:
          :param outstream:
          '''
          fields = val.keys()
          length = len(fields)
          self.write_dict_start(length, outstream)
          if length > 0:
              self.write_dict_field(fields[0], val[fields[0]], outstream)
              idx = 1
              while idx < length:
                  name = fields[idx]
                  value = val[fields[idx]]
                  self.write_dict_field_separator(name, value, outstream)
                  self.write_dict_field(name, value, outstream)
                  idx += 1
          self.write_dict_end(length, outstream)
docs: write a dictionary
          :param val:
          :param outstream: