小编典典

如何使用Python解析错误的JSON?

json

我有以下JSON字符串来自外部输入源:

{value: "82363549923gnyh49c9djl239pjm01223", id: 17893}

这是格式错误的JSON字符串(“ id”和“ value”必须用引号引起来),但无论如何我都需要对其进行解析。我已经尝试了simplejson和json-
py,但似乎无法将其设置为解析此类字符串。

我正在Google App引擎上运行Python 2.5,因此任何基于C的解决方案(例如python-cjson)都不适用。

除了上面列出的JSON外,输入格式可以更改为XML或YAML,但是我在项目内使用JSON,并且在特定位置更改格式不是很好。

现在,我已经切换到XML并成功解析了数据,但是期待着任何允许我切换回JSON的解决方案。


阅读 272

收藏
2020-07-27

共1个答案

小编典典

由于YAML(> = 1.2)是JSON的超集,因此您可以执行以下操作:

>>> import yaml
>>> s = '{value: "82363549923gnyh49c9djl239pjm01223", id: 17893}'
>>> yaml.load(s)
{'id': 17893, 'value': '82363549923gnyh49c9djl239pjm01223'}
2020-07-27