我正在使用他们的Python库实现Google数据源.我希望库中的响应能够使用simplejson库在另一个Python脚本中导入.
但是,即使他们的示例也没有在JSONLint中验证:
{cols: [{id:'name',label:'Name',type:'string'}, {id:'salary',label:'Salary',type:'number'}, {id:'full_time',label:'Full Time Employee',type:'boolean'}], rows: [{c:[{v:'Jim'},{v:800,f:'$800'},{v:false}]}, {c:[{v:'Bob'},{v:7000,f:'$7,000'},{v:true}]}, {c:[{v:'Mike'},{v:10000,f:'$10,000'},{v:true}]}, {c:[{v:'Alice'},{v:12500,f:'$12,500'},{v:true}]}]}
如何调整simplejson'loads'函数来导入上面的JSON?我认为主要问题是对象键不是字符串.
我宁愿不写一个正则表达式来将键转换为字符串,因为我认为这样的代码会很难维护.
我正在尝试使用simplejson将上面的json导入到python中时出现"Expecting property name:line 1 column 1(char 1)"错误.
没有字符串键,它被认为是无效的JSON.
{id:'name',label:'Name',type:'string'}
一定是:
{'id':'name','label':'Name','type':'string'}
根据谷歌数据源页面,他们返回无效的JSON.他们没有特别说出来,但他们所有的例子都没有关键的引用.
下面是一个相当完整的Python JSON处理器列表,详细介绍了它们支持的格式以及处理方式.大多数不支持非字符串键,但似乎demjson将转换它.
easy_install demjson