首页 > 解决方案 > 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的第三方库?有人遇到过类似的问题吗?

提前致谢 :)

干杯:)

标签: pythonjsonformat

解决方案


将正则表达式与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}

推荐阅读