如何在其中存储带有“``的字符串?

时间:2009-04-18 15:57:01

标签: python json

我希望将一个JSON对象的属性值作为字符串"的字符串。 例如:

{
"Dimensions" : " 12.0" x 9.6" "
}

显然这是不可能的。我该怎么做呢? 使用Python。

3 个答案:

答案 0 :(得分:7)

艾萨克是对的。

至于如何在python中执行此操作,您需要提供有关如何构建JSON对象的更详细说明。例如,假设您没有使用外部库并且正在手动执行(很荒谬,我知道),您可以这样做:

>>> string = "{ \"Dimensions\" : \" 12.0\\\" x 9.6\\\" \" }"
>>> print string
{ "Dimensions" : " 12.0\" x 9.6\" " }

显然这有点傻。如果您使用的是标准的python json模块,请尝试以下方法:

from json import JSONEncoder
encoder = JSONEncoder()
string = encoder.encode({ "Dimensions":" 12.0\" x 9.6\" " })

>>> print string
{"Dimensions": " 12.0\" x 9.6\" "}

这是期望的结果。

答案 1 :(得分:3)

Python有两个符号可用于指定字符串文字,单引号和双引号。

例如:     my_string =“我回家了!”

或者,与您更相关,

>>> string = '{ "Dimensions" : " 12.0\\\" x 9.6\\\" " }'
>>> print string
{ "Dimensions" : " 12.0\" x 9.6\" " }

您还可以在字符串前加上'r'来指定它是一个原始字符串,因此不会处理反斜杠转义序列,使其更清晰。

>>> string = r'{ "Dimensions" : " 12.0\" x 9.6\" " }'
>>> print string
{ "Dimensions" : " 12.0\" x 9.6\" " }

答案 2 :(得分:1)

JSON.stringify,如果使用Javascript,将为您转义它。 如果没有,你就可以像“在前面放一个\”那样逃避它们 编辑:在Python中,尝试re.escape()或只替换所有“with \”:

"json string".replace("\"","\\\"");