JSON中单引号与双引号的区别
我的代码:
import simplejson as json
s = "{'username':'dfdsfdsf'}" #1
#s = '{"username":"dfdsfdsf"}' #2
j = json.loads(s)
#1
的定义是错的
#2
的定义是对的
我听说在Python中,单引号和双引号可以互换使用。有人能给我解释一下吗?
11 个回答
70
你可以通过以下方式输出带双引号的JSON:
import json
# mixing single and double quotes
data = {'jsonKey': 'jsonValue',"title": "hello world"}
# get string with all double quotes
json_string = json.dumps(data)
204
你可以使用 ast.literal_eval()
这个函数。
>>> import ast
>>> s = "{'username':'dfdsfdsf'}"
>>> ast.literal_eval(s)
{'username': 'dfdsfdsf'}
249
JSON语法和Python语法是不一样的。JSON中的字符串必须用双引号包起来。