code: def _ValueMessageToJsonObject(self, message):
      
      which = message.WhichOneof('kind')
      # If the Value message is not set treat as null_value when serialize
      # to JSON. The parse back result will be different from original message.
      if which is None or which == 'null_value':
        return None
      if which == 'list_value':
        return self._ListValueMessageToJsonObject(message.list_value)
      if which == 'struct_value':
        value = message.struct_value
      else:
        value = getattr(message, which)
      oneof_descriptor = message.DESCRIPTOR.fields_by_name[which]
      return self._FieldToJsonObject(oneof_descriptor, value)
docs: Converts Value message according to Proto3 JSON Specification.