J'essaie d'obtenir des données d'une API de repos et d'enregistrer un fichier JSON dans un fichier txt. Voici ce que je fais:Comment obtenir des données de repos api et enregistrer JSON en fichier txt?
#random rest api
a = 'https://thiswouldbemyurl.com'
#urllib3 + poolmanager for requests
import urllib3
http = urllib3.PoolManager()
import json
r = http.request('GET', a)
json.loads(r.data.decode('utf-8'))
with open('data.txt', 'w') as f:
json.dump(data, f, ensure_ascii=False)
Je reçois une erreur déjà avec json.load
. Qu'est-ce que je fais mal?
EDIT: Voici comment le JSON ressemble
{
"success":true,
"data":[
{
"id":26,
"name":"A",
"comment":"",
"start_time_plan":null,
"start_time_actual":"2016-09-13 00:00:00",
"start_time_delta":null,
"start_time_score":null,
"start_time_score_achievement":null,
"start_time_traffic_light":null,
"end_time_plan":null,
"end_time_actual":"2016-09-13 00:00:00",
"end_time_delta":null,
"end_time_score":null,
"end_time_score_achievement":null,
"end_time_traffic_light":null,
"status":0,
"measure_schedule_revision_id":63,
"responsible_user_id":3,
"created_time":"2016-09-13 11:29:14",
"created_user_id":3,
"modified_time":"2016-09-21 16:33:41",
"modified_user_id":3,
"model":"Activity"
}
Quelle erreur obtenez-vous? – shazow
Je reçois l'erreur avec 'json.loads'. C'est ça: 'json.decoder.JSONDecodeError: Valeur attendue: ligne 1 colonne 1 (char 0)' – Rachel
On dirait que l'URL que vous téléchargez ne renvoie pas de JSON valide. Appeler 'json.loads (...)' sur quelque chose qui n'est pas JSON ne fonctionnera pas. À l'avenir, veuillez inclure les erreurs dans votre question. :) – shazow