JSON中单引号与双引号的区别

199 投票
11 回答
334161 浏览
提问于 2025-04-16 06:58

我的代码:

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中的字符串必须用双引号包起来。

撰写回答