用Python处理JSON格式的数据

这个主题,网上讨论的很多,具体的流程就不再多说,不过值得说到的是:Python只能解析规范的JSON数据,或者说,就是只能解析那些变量的名字和值都用双引号引起来的数据,而不能解析那些变量名字外面没有引号的数据。举例来说:

[{name:"ppdx",value:"154"}]

是不能被正确解析的。而

[{"name":"ppdx","value":"154"}]

是能够被正确的解析的。

很多网站返回的是第一种格式的JSON数据,这个时候,就必须进行一次预处理,处理的方法是使用正则表达式对各个变量名字的部分进行修改。修改所用的表达式如下,特别需要注意到的是那个[]后面的+,和S+后面的?,这两个地方是匹配能够正确进行的关键。

re.sub(r'([{,]+)(S+?):', r'1"2":', json_str)

经过上述处理之后的JSON就可以直接在Python里面被解析出来了。

此条目发表在软件使用与程序设计分类目录。将固定链接加入收藏夹。