python json.loads兼容单引号数据的方法

yipeiwu_com6年前Python基础

Python的json模块解析单引号数据会报错,示例如下

>>> import json
>>> data = "{'field1': 0, 'field2': 'hehehehe', 'field3': 'hahaha'}"
>>> json.loads(data)
Traceback (most recent call last): 
File “”, line 1, in 
File “/usr/lib/python3.5/json/init.py”, line 319, in loads 
return _default_decoder.decode(s) 
File “/usr/lib/python3.5/json/decoder.py”, line 339, in decode 
obj, end = self.raw_decode(s, idx=_w(s, 0).end()) 
File “/usr/lib/python3.5/json/decoder.py”, line 355, in raw_decode 
obj, end = self.scan_once(s, idx) 
json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 1 column 2 (char 1)

摸索的解决办法如下

>>> data = json.dumps(eval(data))
>>> print(data)
{“field3”: “hahaha”, “field2”: “hehehehe”, “field1”: 0}

处理后正确解析

>>> print(json.loads(data))
{‘field3': ‘hahaha', ‘field2': ‘hehehehe', ‘field1': 0}

以上这篇python json.loads兼容单引号数据的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

在python中利用opencv简单做图片比对的方法

下面代码中利用了两种比对的方法,一 对图片矩阵(m x m)求解特征值,通过比较特征值是否在一定的范围内,判断图片是否相同。二 对图片矩阵(m x m)中1求和,通过比较sum和来比较图...

pytorch 实现tensor与numpy数组转换

看代码,tensor转numpy: a = torch.ones(2,2) b = a.numpy() c=np.array(a) #也可以转numpy数组 print(type(a...

Window10下python3.7 安装与卸载教程图解

Window10下python3.7 安装与卸载教程图解

1.进入官网https://www.python.org/,点击Downloads下的Windows按钮,进入下载页面。 2.如下图所示,点击下载。 3.安装Python3.7.4...

对pandas读取中文unicode的csv和添加行标题的方法详解

pandas这个库就是这么智能。有了dateframe格式一切都好办了。相比csv库对中文支持就渣了。 reader = pd.read_csv(leg2CsvReadFile, del...

python采用getopt解析命令行输入参数实例

本文实例讲述了python采用getopt解析命令行输入参数的方法,分享给大家供大家参考。 具体实例代码如下: import getopt import sys config...