我有以下来自外部输入源的 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 的解决方案。
最佳答案
由于 YAML (>=1.2) 是 JSON 的超集,您可以这样做:
>>> import yaml
>>> s = '{value: "82363549923gnyh49c9djl239pjm01223", id: 17893}'
>>> yaml.load(s)
{'id': 17893, 'value': '82363549923gnyh49c9djl239pjm01223'}
关于python - 如何用 Python 解析一些错误的 JSON?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1931454/