Python的json模块解析单引号数据会报错,示例如下
1
2
3
|
>>> import json
>>> data = "{'field1': 0, 'field2': 'hehehehe', 'field3': 'hahaha'}"
>>> json.loads(data)
|
1
2
3
4
5
6
7
8
9
|
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 )
|
摸索的解决办法如下
1
2
|
>>> data = json.dumps( eval (data))
>>> print (data)
|
1
|
{“field3”: “hahaha”, “field2”: “hehehehe”, “field1”: 0 }
|
处理后正确解析
1
|
>>> print (json.loads(data))
|
1
|
{‘field3 ': ‘hahaha' , ‘field2 ': ‘hehehehe' , ‘field1': 0 }
|
以上这篇python json.loads兼容单引号数据的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/BDuck2014/article/details/80021639