Erreur lors de l'import d'un fichier JSON avec Python

Fermé
maelc - 11 juin 2020 à 23:35
hugobldl Messages postés 9 Date d'inscription vendredi 17 juillet 2020 Statut Membre Dernière intervention 22 juillet 2020 - 17 juil. 2020 à 14:16
Bonsoir,

Je suis débutant dans le langage de Python et j'obtiens cette erreur quand j'exécute mon fichier Translate.py :

{

"error": {

"code": 400074,

"message": "The body of the request is not valid JSON."

}

}

Voici mon fichier Translate.py :

import os, requests, uuid, json
 
key_var_name = 'TRANSLATOR_TEXT_SUBSCRIPTION_KEY'
if not key_var_name in os.environ:
    raise Exception('Please set/export the environment variable: {}'.format(key_var_name))
subscription_key = os.environ[key_var_name]
 
endpoint_var_name = 'TRANSLATOR_TEXT_ENDPOINT'
if not endpoint_var_name in os.environ:
    raise Exception('Please set/export the environment variable: {}'.format(endpoint_var_name))
endpoint = os.environ[endpoint_var_name]
 
path = '/translate?api-version=3.0'
params = '&to=de&to=it'
constructed_url = endpoint + path + params
 
headers = {
    'Ocp-Apim-Subscription-Key': subscription_key,
    'Content-type': 'application/json',
    'X-ClientTraceId': str(uuid.uuid4())
}
 
with open('data.json') as json_data:
    data_dict = json.load(json_data)
    body = json.dumps(data_dict)
 
request = requests.post(constructed_url, headers=headers, json=body)
response = request.json()
 
print(json.dumps(response, sort_keys=True, indent=4, separators=(',', ': ')))


Et le fichier data.json :

[

{

"text": "The diary of Thomas Pereira"

}

]

Pourriez-vous me dire ce qu'il bloque dans le code d'après-vous ?

Merci pour votre aide. :)

Configuration: Windows / Chrome 83.0.4103.97
A voir également:

1 réponse

hugobldl Messages postés 9 Date d'inscription vendredi 17 juillet 2020 Statut Membre Dernière intervention 22 juillet 2020
Modifié le 17 juil. 2020 à 14:17
Salut,

essaye en remplaçant
print(json.dumps(response, sort_keys=True, indent=4, separators=(',', ': ')))


Par
print(json.dumps(response.text, sort_keys=True, indent=4, separators=(',', ': ')))
0