一日一技:如何正确修复有异常的JSON?

当我们使用大模型生成JSON,或者爬虫抓取数据时,可能会遇到一些有异常的JSON,例如:

  • 括号不闭合
    1
    {"profile": {"name": "xx", "age": 20}
  • 没有引号
    1
    {name: 青南, age: 20, salary: "99999999, }
  • 反斜杠异常
    1
    {"name": "青南", "age": 20, "salary: "\"very big\\""}

Python的json模块解析这些有问题的JSON时就会报错。这个时候,可以使用一个叫做json-repair的第三方库来解决问题。

使用pip就可以安装json-repair。导入以后,就可以像json.loads一样使用了,
运行效果如下图所示:

对于双引号异常和反斜杠异常,也能正常解析:

字符串型的Python字典,也能正常解析,如下图所示:

使用这个模块,在很大程度上就能避免JSON解析不对的问题了。