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

时间:2010-08-05 03:09:18

标签: python

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

第一次处理jason数据,有什么建议如何解码数据? 感谢

=================     result = simplejson.loads(data,encoding =“utf-8”)   文件“F:\ My Documents \ My Dropbox \ StockDataDownloader \ simplejson__init __。py”,第401行,载入     return cls(encoding = encoding,** kw).decode(s)   文件“F:\ My Documents \ My Dropbox \ StockDataDownloader \ simplejson \ decoder.py”,第402行,解码     obj,end = self.raw_decode(s,idx = _w(s,0).end())   在raw_decode中输入文件“F:\ My Documents \ My Dropbox \ StockDataDownloader \ simplejson \ decoder.py”,第420行     引发JSONDecodeError(“无JSON对象可被解码”,s,idx) simplejson.decoder.JSONDecodeError:无法解码JSON对象:第1行第0列(字符0)

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

data =“{identifier:'ID',label:'截至2010年8月4日星期三05:05 PM',项目:[{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',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:'无',I:'无',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_: ''}]}“

1 个答案:

答案 0 :(得分:2)

您正确使用simplejson,但为您提供该数据的网站未正确使用JSON格式。查看json.org,它使用简单的语法图来显示什么是JSON:在对象图中,{之后(除非对象为空,在这种情况下为{{} 1}}紧随其后),JSON总是有一个字符串 - 正如你在中看到的那样图,这意味着以双引号开头。所以,字符串的开头是:

}

告诉你JSON不正确 - 单词{identifier: 周围没有双引号。

解决这个问题并不像识别它那么容易,但我想至少向你保证你的代码。 叹息看起来破旧的网站,在旧的HTML时代这样一个伟大的传统,无论他们打破的技术多么现代化,我们都会留下来......: - (