【发布时间】:2021-01-08 16:02:53
【问题描述】:
我收到了作为 HTTP 响应的字符串。不幸的是,该字符串是原始格式,我无法将其转换为 JSON 对象。
示例字符串:
json_string = '{"client_id":8888,"time":null,"questions":{"id":10000,"answered":"true","answer":"The "project" was good, I enjoyed it. Do you plan to repeat it?"},"other":"When is the "project" released?"}'
字符串的问题在于它在某些值(用户答案)中包含双引号。可以包含双引号的值的键并不总是相同的(这里的“答案”和“其他”在其他响应中可能不同)。用户回答可以包含任何字符(逗号、方括号、双引号...)。
我尝试使用不同的加载器(json、yaml),甚至尝试使用正则表达式自己解析字符串,但总是失败。
有什么方法可以将这个字符串转换成 JSON 对象吗?
【问题讨论】:
-
什么是创建那个字符串?从 JSON 的角度来看,它已经坏了。
-
您提到您收到的字符串来自 HTTP 响应。但是,它不是有效的 JSON 格式。您正在通信的服务器是否打算将其解析为 json?
-
字符串是由外部应用程序(开发人员)创建的,所以我不知道字符串是如何构建的。但是,根据文档,响应应该是 JSON。
标签: python json double-quotes