【发布时间】:2016-11-15 06:57:56
【问题描述】:
使用 YAML 转储 JSON,
c= {"a":1}
d = yaml.dump(c)
使用 YAML 加载 JSON
yaml.load(d)
{'a': 1} # double quotes is lost
如何保证负载的输出有双引号?
注意:我也尝试过 json 和 simplejson,它们的行为方式都一样。
【问题讨论】:
-
为什么需要双引号?据我所知,在 python 中,双引号和单引号没有区别。
-
YAML 和 JSON 是数据格式。引号不是数据的一部分。数据是“包含数字值 one 的字典,键值是一个字符串,a”。如果您想按原样保留 YAML/JSON,请不要解析它,只需将其视为字符串即可。
-
@Nurzhan 数据必须作为请求的响应返回,在客户端,单引号不被识别为 json。
-
对于 Python,单引号和双引号没有区别。如果您必须将响应作为 JSON 字符串返回,则使用
json模块 (json.dumps({'a': 1})) - 它将创建正确的 JSON 字符串 - 带有双引号。一些框架具有生成 JSON 响应的内置函数 - 它们在后台使用相同的json模块。
标签: json python-2.7 yaml