json.loads问题终极解决方法

问题描述

一般都是str -> json的时候(必须要保证str是完整的json的str的情况下哈,如果格式本身有问题的话,例如只有一半,肯定报错:),会使用json.loads(xxx),但是json.loads要求极其严苛,经常会出现七七八八的错误。
报错1:
ValueError: Expecting property name enclosed in double quotes: line 1 column 2 (char 1) -> 适用

报错2:
Expecting value: line 1 column 1 (char 0) -> 适用

报错3:
Expecting value: line 2 column 1 (char 0) -> 适用

报错4:
json.decoder.JSONDecodeError: Invalid control character
报错5:
json.decoder.JSONDecodeError: Invalid \escape

解决方法:

先说结论:直接弃用,更换另一个好用的方法

import ast
parsed_json = ast.literal_eval(your_json

你可能感兴趣的:(常见环境安装和使用,json)