Google Data Source JSON无效?

sut*_*tee 5 python simplejson

我正在使用他们的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}]}]}
Run Code Online (Sandbox Code Playgroud)

如何调整simplejson'loads'函数来导入上面的JSON?我认为主要问题是对象键不是字符串.

我宁愿不写一个正则表达式来将键转换为字符串,因为我认为这样的代码会很难维护.

我正在尝试使用simplejson将上面的json导入到python中时出现"Expecting property name:line 1 column 1(char 1)"错误.

Sov*_*iut 8

没有字符串键,它被认为是无效的JSON.

{id:'name',label:'Name',type:'string'}
Run Code Online (Sandbox Code Playgroud)

一定是:

{'id':'name','label':'Name','type':'string'}
Run Code Online (Sandbox Code Playgroud)

根据谷歌数据源页面,他们返回无效的JSON.他们没有特别说出来,但他们所有的例子都没有关键的引用.

下面是一个相当完整的Python JSON处理器列表,详细介绍了它们支持的格式以及处理方式.大多数不支持非字符串键,但似乎demjson将转换它.

easy_install demjson
Run Code Online (Sandbox Code Playgroud)