144 votes

python: guillemets simples vs doubles en JSON

Mon code:

 import simplejson as json

s = "{'username':'dfdsfdsf'}" #1
#s = '{"username":"dfdsfdsf"}' #2
j = json.loads(s)
 

#1 définition est fausse

#2 définition a raison

J'ai entendu dire qu'en python, cette simple citation double peut être interchangeable. Quelqu'un peut-il m'expliquer cela?

204voto

Ignacio Vazquez-Abrams Points 312628

La syntaxe JSON n'est pas la syntaxe Python. JSON nécessite des guillemets doubles pour ses chaînes.

156voto

hahakubile Points 221

vous pouvez utiliser ast.literal_eval()

 >>> import ast
>>> s = "{'username':'dfdsfdsf'}"
>>> ast.literal_eval(s)
{'username': 'dfdsfdsf'}
 

58voto

cowboybkit Points 123

Vous pouvez vider JSON avec une citation double en:

 from json import dumps

#mixing single and double quotes
data = {'jsonKey': 'jsonValue',"title": "hello world"}

jsonString = json.dumps(data) 
#get string with all double quotes
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X