J'ai un problème dans un de mes script en python avec du json.
Voilà l'erreur que je reçois :
Traceback (most recent call last): File "tip_ws.py", line 33, in <module> data_j = json.loads(data) File "/usr/lib/python2.7/json/__init__.py", line 339, in loads return _default_decoder.decode(s) File "/usr/lib/python2.7/json/decoder.py", line 364, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) File "/usr/lib/python2.7/json/decoder.py", line 380, in raw_decode obj, end = self.scan_once(s, idx) ValueError: Expecting object: line 1 column 156 (char 155)
Est-ce que vous pourriez m'aider ? Merci beaucoup déjà d'avance !
Voilà le code du script :
#!/usr/bin/env python # -*- coding: utf-8 -*-
from time import sleep import serial import requests import json import time
url='myURL'
data = "" letter_last=""
ser = serial.Serial ("/dev/ttyS0", 9600) #Open port with baud rate while True: data += ser.read() #received_data = ser.read() #read serial port #sleep(0.03) #data_left = ser.inWaiting() #check for remaining byte #received_data += ser.read(data_left) #received_data = received_data.strip()
#Récupération du dernier caractère letter_last = data[-1]
#Si dernier caractère est égal à "]" le message est terminé ! if letter_last == "]": #Récupération du contenu sans les accolades "[" et "]" data = data[1:-1] #Decodage des données en JSON data_j = json.loads(data)
Pour ce problème, il faudrait sûrement mieux que tu regardes le format de tes données json. Visiblement c'est dans la lecture du fichier que Python crash...
Essaye d'afficher les données que tu veux parse de JSON pour voir si la syntaxe ne pose pas problème par exemple.