python - Python:修复无效的 json 字符串
问题描述
我在这样的字符串中有错误的 JSON 格式:
"{var_1=100, var_2={\"Code\": 200, \"Headers\": {\"content-type\": \"text/html; charset=utf-8\"}}, var_3=0}"
我需要将其格式化为正确的 JSON,如下所示:
{
"var_1": "100",
"var_2": {
"Code": "200",
"Headers": {
"content-type": "text/html; charset=utf-8"
}
},
"var_3": "0"
}
有没有快速解决这个问题的方法?也许一些python的第三方库?有人遇到过类似的问题吗?
提前致谢 :)
干杯:)
解决方案
将正则表达式与ast
模块一起使用
前任:
import re
import ast
s = "{var_1=100, var_2={\"Code\": 200, \"Headers\": {\"content-type\": \"text/html; charset=utf-8\"}}, var_3=0}"
print(ast.literal_eval(re.sub(r"(\w+)=", r"'\1':", s)))
输出:
{'var_1': 100,
'var_2': {'Code': 200,
'Headers': {'content-type': "text/html; 'charset':utf-8"}},
'var_3': 0}
推荐阅读
- java - 未找到 EJB 方法
- cmd - AutoHotKey 脚本文件中的 CMD 错误解释命令
- oracle - Oracle Apex 经典报告
- powerbuilder - PowerServer 安装后无法访问
- tfs - 无法确定,哪个代理将用于并行多配置构建中的哪个构建配置
- python - 函数仅在第二次才在“hist”函数中完成执行
- excel - 将组合框链接到 excel vba 中的文本框 - 错误 1004
- python - 如何从列表列表中删除所有子集
- javascript - 如何进行合规检查?
- apache - Apache 虚拟主机 IP 地址指向另一个 DocumentRoot