为什么单引号(')和双引号(")在python的json模块中得到不同的结果?

Jav*_* Xu 4 python json

我有这样一段python代码:

import json
single_quote = '{"key": "value"}'
double_quote = "{'key': 'value'}"
data = json.loads(single_quote) # get a dict: {'key': 'value'}
data = json.loads(double_quote) # get a ValueError: Expecting property name: line 1 column 2 (char 1)
Run Code Online (Sandbox Code Playgroud)

在python中,single_quotedouble_quote没有技术差异,不是吗?那么为什么single_quote有效double_quote呢?

Ter*_*ryA 12

那是因为只有第一个例子才是有效的JSON.JSON数据具有由"..."和不包围的键和值'...'.

您可能没有其他"规则".有此维基百科页面上的一个伟大的名单在这里.例如,布尔值应该是小写(truefalse)而不是TrueFalse.JSON!= Python.