V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
hao1032
V2EX  ›  问与答

有这样的一个字符串(单双引号混用), Python 中怎么才能正确的转换为 json 呢?

  •  
  •   hao1032 · Jan 26, 2018 · 4004 views
    This topic created in 3024 days ago, the information mentioned may be changed or developed.
    s = """{'message': " AwContents.java:599:30: ',' is not followed by whitespace.\n android", 'a': 'tango'"""

    1.直接 json.loads(s),报错 json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 1 column 2 (char 1)

    2.替换引号 s = s.replace("'", '"'),报错 json.decoder.JSONDecodeError: Invalid control character at: line 1 column 74 (char 73)


    各位这个要怎么处理啊?因为这个要在 server 端用,不能使用 eval()
    3 replies    2018-01-26 13:23:58 +08:00
    jackyzy823
        1
    jackyzy823  
       Jan 26, 2018
    ast.literal_eval 可行否
    以及 s 的 tango 后面少了个}
    hao1032
        2
    hao1032  
    OP
       Jan 26, 2018
    @jackyzy823 是的,写漏了
    hao1032
        3
    hao1032  
    OP
       Jan 26, 2018
    @jackyzy823 另外 literal_eval 可行,多谢
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   4454 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 10:13 · PVG 18:13 · LAX 03:13 · JFK 06:13
    ♥ Do have faith in what you're doing.