es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Colocando una variable en el cuerpo de una solicitud en Python usando requests.

<h1>real one</h1>

<p>data = {'recipients' : '['+i+']'}</p>

<h1>one from requests</h1>

<p>data = {'recipients' : '["908325719514423328"]'}</p>

Hi, so i am trying to put a variable into the data but every time i try it is giving me <code>{'code': 50109, 'message': 'The request body contains invalid JSON.'}</code>, so i wonder if someone know how to put it in here i already tried <code>data = {'recipients' : f'["{i}"]'}
</code> but didn't work i tried everything but nothing work, thanks you for helping! :)

The one i am currently trying is the #real one
Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Parece que el problema puede estar en el formato de la cadena JSON en la variable data. En la versión ‘real one’, es probable que i sea una variable que contiene una cadena, y se está insertando en la cadena JSON como un valor de la clave recipients.

    Si estás utilizando una f-string, la sintaxis correcta sería:

    data = {'recipients': f'[\"{i}\"]'}
    

    Si i ya contiene comillas dobles, es posible que necesites escaparlas así:

    data = {'recipients': f'[\"{i.replace("\"", "\\\"")}\"]'}
    

    Alternativamente, podrías intentar usar comillas simples en su lugar, así:

    data = {'recipients': f'[\'{i}\']'}
    

    En la versión con requests, parece que ya estás usando comillas dobles y has formateado correctamente la cadena JSON. Sin embargo, si deseas insertar una variable, puedes usar la misma sintaxis de f-string como se muestra arriba:

    data = {'recipients': f'[\"{variable_aquí}\"]'}
    

    ¡Espero que esto ayude!

Comments are closed.