code: def _RequestBodyFromData(data):
      
      if isinstance(data, six.string_types) or _IsReadableStream(data):
          return data
      elif isinstance(data, (dict, list, tuple)):
          
          json_dumped = json.dumps(data, separators=(',',':'))
  
          if six.PY2:
              return json_dumped.decode('utf-8')
          else:
              return json_dumped
      return None
docs: Gets request body from data.
  
      When `data` is dict and list into unicode string; otherwise return `data`
      without making any change.
  
      :param (str, unicode, file-like stream object, dict, list or None) data:
  
      :rtype:
          str, unicode, file-like stream object, or None