Google数据源JSON无效?

我正在使用他们的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'加载'函数来导入上面的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
链接地址: http://www.djcxy.com/p/8279.html

上一篇: Google Data Source JSON not valid?

下一篇: sed substitute variable contains newline (preserve it)