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

yipeiwu_com5年前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处理命令行参数模块optpars用法实例分析

本文实例讲述了Python处理命令行参数模块optpars用法。分享给大家供大家参考,具体如下: optpars是python中用来处理命令行参数的模块,可以自动生成程序的帮助信息,功能...

使用Python实现在Windows下安装Django

使用Python实现在Windows下安装Django

依赖 安装Python 安装git 安装Django 1.去Python官网下载Python3.6并配置好环境变量 Python下载地址:https://www.py...

Python中如何获取类属性的列表

前言 最近工作中遇到个需求是要得到一个类的静态属性,也就是说有个类 Type ,我要动态获取 Type.FTE 这个属性的值。 最简单的方案有两个: getattr(Type, 'F...

python动态视频下载器的实现方法

python动态视频下载器的实现方法

这里向大家分享一下python爬虫的一些应用,主要是用爬虫配合简单的GUI界面实现视频,音乐和小说的下载器。今天就先介绍如何实现一个动态视频下载器。 爬取电影天堂视频 首先介绍的是py...

pymssql ntext字段调用问题解决方法

下面是调用方式: Example script - pymssql module (DB API 2.0) Example script - _mssql module (lower...