Je récupère des données d'une URL, et recherche en ligne pour trouver les données dans le format de données de Jason, mais quand j'ai essayé d'utiliser simplejson.loads (données), il lèvera l'exception.Comment utiliser simplejson pour décoder les données suivantes?
Première fois traiter avec des données jason, une suggestion de comment décoder les données? Merci
================= résultat = simplejson.loads (données, encoding = "utf-8") fichier « F: \ Mes Documents \ My Dropbox \ StockDataDownloader \ simplejson__init __. Py ", ligne 401, dans les charges return cls (encoding = encoding, ** kw) .decode (s) Fichier" F: \ Mes documents \ My Dropbox \ StockDataDownloader \ simplejson \ decoder.py ", ligne 402, dans le décodage obj, end = self.raw_decode (s, idx = _w (s, 0) .end()) Fichier" F: \ Mes documents \ My Dropbox \ StockDataDownloader \ simplejson \ decoder.py ", ligne 420, dans raw_decode raise JSONDecodeError (" Aucun objet JSON n'a pu être décodé ", s, idx) simplejson.decoder.JSONDecodeError: Aucun objet JSON n'a pu être détecté décoder: ligne 1 colonne 0 (char 0)
============================
data = " {identifiant: 'ID', libellé: 'Au Mer 4 Aug 2010 17:05', objets: [{ID: 0, N: '2ndChance', NC: '528', R: 'AUCUN', I: 'NONE', M: '-', LT: 0,335, C: 0,015, VL: 51,000, BV: 20,000, B: 0,330, S: 0,345, SV: 20,000, O: 0,335, H: 0,335, L: 0,335, V: 17085.000, SC: '4', PV: 0.320, P: 4.6875, P _: 'X', V _: ''}, {ID: 1, N: '8Telecom', NC: 'E25', R: ' NONE ', I:' NONE ', M:' - ', LT: 0,190, C: 0,000, VL: 965,000, BV: 1305,000, B: 0,185, S: 0,190, SV: 641,000, O: 0,185, H: 0,190 L: 0,185, V: 179525,000, SC: '2', PV: 0,190, P: 0,0, P _: 'X', V _: ''}, {ID: 2, N: 'A-Sonic', NC: 'A53', R: 'NONE', I: 'NONE', M: '-', LT: 0,090, C: 0,005, VL: 1278 000, BV: 17,000, B: 0,090, S: 0,095, SV: 346,000, O: 0,090, H: 0,090, L: 0,090, V: 115020,000, SC: 'A', PV: 0,085, P: 5,882352734375, P _: 'X', V _: ''}, {ID: 3, N: ' AA Grp ', NC:' 5GZ ', R:' AUCUN ' , I: 'NONE', M: 't', LT: 0,000, C: 0,000, VL: 0,000, BV: 100,000, B: 0,050, S: 0,060, SV: 50,000, O: 0,000, H: 0,000, L : 0.000, V: 0.000, SC: '2', PV: 0.050, P: 0.0, P _: 'X', V_: ''}]} "
Merci pour votre réponse. J'ai essayé d'utiliser des guillemets doubles pour entourer les clés, et je peux utiliser simplejson pour décoder les guillemets simples, Donc, la seule façon est d'utiliser l'expression régulière pour rechercher des clés et entourer de guillemets, puis remplacer tous les guillemets simples. citations avec des guillemets doubles, puis utilisez simplejson pour décoder les données? Les données proviennent du site Web de bourse pour afficher des informations de stock. – yongzhy
@yongzhy, je recommanderais Pyparsing plutôt qu'un tas de regexes + simplejson, voir http://pyparsing.wikispaces.com/ - mais l'essentiel est définitivement correct: vous ne pouvez pas utiliser simplejson pour analyser quelque chose qui n'est pas Json. –