在解析网页json数据的时候,我发现python标准库json模块无法加载数据。如下面数据:
import json
s='{symbol:"sh600069",code:"600069",name:"银鸽投资",trade:"3.160",pricechange:"-0.030",changepercent:"-0.940",buy:"3.160",sell:"3.170",settlement:"3.190",open:"3.190",high:"3.210",low:"3.140",volume:3905810,amount:12388386,ticktime:"15:00:00",per:79,pb:2.416,mktcap:513131.494704,nmc:513131.494704,turnoverratio:0.24053}'
js=json.loads(s)
结果报错,提示预期的属性名称应该在双引号里,python无法识别这种不带双引号的json的数据:
那么怎么解决呢?第一种方法是使用第三方库demjson.这个安装后直接decode数据源就行。
另一种就是自己写个自定义函数处理下,今天找到一个处理这种问题的自定义函数了。
def jsonfy(s:str)->object:
#此函数将不带双引号的js