【问题标题】:How to fix wrongly created json data?如何修复错误创建的 json 数据?
【发布时间】:2013-10-24 18:27:06
【问题描述】:

我有大量的 json 数据(从维基百科加载),这些数据是按以下形式创建的:

 {"a":""b" c"}

我尝试通过python中的json库解析出来:

js = json.loads(data)

此代码向我显示了一个错误: ValueError:期望,分隔符 据了解,我需要转义第 3 和第 4 引号或用单引号更改它们。 如何自动完成此操作(意味着我想通过程序转义该引号)? 谢谢

【问题讨论】:

  • 你能详细说明一下吗。您是如何获得这些数据的,“自动执行操作”是什么意思,......编写一段(完整的)(Python)代码,在其中尝试执行您所描述的操作 - 即使它不起作用,我们会更好地理解您的要求。
  • 您是在尝试将错误生成的数据更改为有效数据,还是尝试修复创建数据的任何因素以首先生成有效数据? (后者会更好,也可能更容易......)

标签: python json escaping quotes


【解决方案1】:

如果它看起来与您描述的完全一样,这样的方法是可能的

loop all occurences of ""
    replace with "\".
    from current position search for next "
        replace it with \"

总而言之,我想您需要编写自己的解析器。 如果错误更复杂,它可能是使用扩展 json 解析器进行错误纠正的好方法。 如果抛出异常,解析器会尝试检测并解决它。如果不可能抛出异常。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-01-30
    • 2019-05-26
    • 1970-01-01
    • 1970-01-01
    • 2023-04-08
    • 1970-01-01
    • 2020-12-07
    • 2019-07-19
    相关资源
    最近更新 更多