当前位置: 首页 > 面试题库 >

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

齐元章
2023-03-14
问题内容

我有以下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'}


 类似资料:
  • 我有以下命令。我想循环使用此键和值,即对于冰/冷的项目,打印“值” 我试过这个: 却给我错误

  • 嗨,我使用截击作为JSON解析。我正在使用POST方法并在POST请求中发送参数。我在解析数据时遇到了以下错误,我遇到了以下错误。我想用截击。我尝试过使用JsonArrayRequest,但它不允许将参数作为JSONObject发送,我在代码中使用JSONObject。 请求就像 反应就像 以下是我的代码

  • 问题内容: 这段代码失败,并带有指示无效JSON的异常: 我可以通过用空字符串替换所有未定义内容来修复它。undefined不是JSON的一部分吗? 问题答案: 如果您可以解决这个问题,那么 令牌 实际上是未定义的。 请允许我详细说明:即使JavaScript具有称为undefined的特殊原始值,它 也不 是JavaScript关键字,也没有任何特殊含义。通过与定义对象进行比较,可以破坏测试对象

  • 为什么下面的代码返回ValueError?

  • 问题内容: 我正在尝试解析json对象并遇到问题。 我可以弄清楚如何获得这些值。我可以拿钥匙。请帮忙。 问题答案: 您不再拥有JSON对象,而拥有Python 字典 。遍历字典将产生其密钥。 如果要访问这些值,请为原始词典建立索引或使用返回不同内容的方法之一。

  • 问题内容: python内置了许多html和xml库,很难相信不支持实际的HTML解析。 我已经找到了很多很棒的第三方库来执行此任务,但是这个问题与python标准库有关。 要求: 仅使用Python标准库组件(任何2.x版本) DOM支持 处理HTML实体() 手柄部分文件(如:) 奖励积分: XPATH支持 处理未封闭/格式错误的标签。( 这是我要求的90%解决方案。这适用于我尝试过的有限的H