【问题标题】:Escaping single quotes JSON转义单引号 JSON
【发布时间】:2017-07-24 14:41:53
【问题描述】:

我正在使用 json 模块将一系列字典转换为 json,但我不确定为什么在转储到 json 时,包含单引号的字符串(例如:我父亲的车)被转义到(我父亲的车)车)。当我签入在线验证器时,它说格式错误。为什么转储不正确时会逃脱它们?

我尝试使用replace 替换字符串,但它没有起作用。那会是一个有效的解决方案吗?为什么以下截图不起作用

formatted_json = json.dumps(OrderedDict([("nodes", json_graph['nodes']), ("links", json_graph['links'])])).replace('\'',"'")

谢谢!

【问题讨论】:

  • 能否提供minimal reproducible example。因为 json 没有 在这里转义简单的引号(因为引用是用双引号完成的)
  • '\''"'" 都拼写出完全相同的字符串值。您用单引号替换了单引号。您可能正在寻找包含单引号和双引号的字符串的 repr() 输出,因此 Python 为您提供了一个 字符串文字值,可以复制和粘贴该值以重现该值。在同时具有"' 字符的字符串文字中,您必须转义其中一个才能使其正常工作。这并不意味着实际值在其中有转义..

标签: python json


【解决方案1】:

您可能会从 python 解释器中看到值表示。如果您打印该值或将其存储在文件中,您将看到正确的行为。

>>> import json
>>> json.dumps("a'b")
'"a\'b"'
>>> print json.dumps("a'b")
"a'b"

【讨论】:

    猜你喜欢
    • 2017-01-14
    • 1970-01-01
    • 2019-10-14
    • 1970-01-01
    • 1970-01-01
    • 2021-08-16
    • 2017-01-08
    相关资源
    最近更新 更多