Python 如何使用simplejson解码以下数据?

Python 如何使用simplejson解码以下数据?,python,Python,我从一个URL中获取一些数据,并在线搜索以发现数据是Jason数据格式的,但当我尝试使用simplejson.loads(数据)时,它会引发异常 第一次处理jason数据时,有没有关于如何解码数据的建议? 谢谢 ================= 结果=simplejson.load(数据,编码=“utf-8”) 文件“F:\My Documents\My Dropbox\StockDataDownloader\simplejson__init__.py”,第401行,在loads中 返回cls

我从一个URL中获取一些数据,并在线搜索以发现数据是Jason数据格式的,但当我尝试使用simplejson.loads(数据)时,它会引发异常

第一次处理jason数据时,有没有关于如何解码数据的建议? 谢谢

================= 结果=simplejson.load(数据,编码=“utf-8”) 文件“F:\My Documents\My Dropbox\StockDataDownloader\simplejson__init__.py”,第401行,在loads中 返回cls(编码=编码,**千瓦)。解码 文件“F:\My Documents\My Dropbox\StockDataDownloader\simplejson\decoder.py”,第402行,解码中 obj,end=self.raw\u decode(s,idx=\u w(s,0.end()) 文件“F:\My Documents\My Dropbox\StockDataDownloader\simplejson\decoder.py”,第420行,原始解码 raise JSONDecodeError(“无法解码JSON对象”,s,idx) simplejson.decoder.JSONDecodeError:无法解码任何JSON对象:第1行第0列(字符0)

============================


data=“{ID:'ID',label:'截至2010年8月4日星期三下午5:05',项目:[ID:0,N:'2ndChance',NC:'528',R:'NONE',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',:0.320,p:68UX,},{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',:',{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:'AAGRP',NC:'5GZ',R:'NONE',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:0,P:0,'X',V:'''''''''}]您正确地使用了
simplejson
,但是提供该数据的站点没有正确地使用JSON格式。请看,它使用简单的语法图来显示什么是JSON:,JSON总是有一个字符串,正如您在该图中看到的,这意味着以双引号开头的内容。因此,字符串的开头:

{identifier:
告诉您这是不正确的JSON——在单词
identifier
周围没有双引号


解决这个问题并不像认识到它就在那里那么容易,但我想让你放心,至少你的代码是这样的。唉,看起来不管它们打破了多么现代的技术,在旧HTML时代如此伟大的传统,破碎的网站都将与我们同在-(

谢谢你的回答。是的,我试着用双引号括起来,把单引号改成双引号,可以用simplejson来解码。所以唯一的方法是用正则表达式搜索键并用双引号括起来,然后用双引号替换所有单引号,然后用simplejson来解码数据?数据来自证券交易所网站,用于显示股票信息。@yongzhy,我建议使用pyparsing,而不是乱七八糟的正则表达式+simplejson,请参见——但要点绝对正确:不能使用simplejson解析非json的内容。