Python: la Requête Dict en JSON
Je suis en train d'essayer d'envoyer quelques JSON à mon django app dans une chaîne de requête en utilisant encodeURIComponent()
mon serveur enpoint reçoit les données de l'amende juste que je peux l'imprimer à la console python.
print request.GET
La sortie de la ligne suivante est dans ce format
<QueryDict: {u'[my json array]': [u''}}>
Je veux convertir cette JSON afin que je puisse utiliser pour obtenir des informations, mais j'ai essayé d'utiliser json.loads
et d'autres moyens de manipuler les données avec pas de chance.
Ma sortie devrait ressembler à ceci
[{u'something': something}, {u'something1': something2}, {u'something3': something3}]
Des conseils sur ce que je fais de mal ici?
"Je veux convertir cette JSON afin que je puisse utiliser pour obtenir des informations, mais j'ai essayé d'utiliser json.de charges". Eh bien, il est votre problème;
En attendant, comment faites-vous pour obtenir une liste des dicts comme votre sortie désirée lorsque vous n'avez pas montré toute entrée qui contient l'une de ces données? Donnez-nous un exemple réel.
json.loads
prend JSON et vous donne des objets natifs; si vous voulez obtenir JSON, vous avez besoin json.dumps
.En attendant, comment faites-vous pour obtenir une liste des dicts comme votre sortie désirée lorsque vous n'avez pas montré toute entrée qui contient l'une de ces données? Donnez-nous un exemple réel.
OriginalL'auteur d9120 | 2014-09-11
Vous devez vous connecter pour publier un commentaire.
QueryDict
classe est une sous-classe régulière Python dictionnaire, sauf qu'il gère plusieurs valeurs pour une même clé (voirMultiValueDict
de la mise en œuvre).Si vous souhaitez faire un dump d'une chaîne, il suffit d'utiliser
json.dumps()
:Il y a également un
dict()
méthode:Cela ne fonctionnera pas si vous avez plusieurs valeurs de clé. Vous parle même MultiValueDict
OriginalL'auteur alecxe
Je suis en utilisant Python 2.7.13 et Django 1.11.2.Vous pouvez obtenir votre données dans un dictionnaire, de sorte que vous pourriez accès ceux données en utilisant leurs clés.
Un bloc de code à l'intérieur de la fonction que j'ai utilisé pour obtenir la données. Sortie est également disponible en bas. Cela permettra de montrer valeur des parties de la déclaration ci-dessus.
Mais ici, je suis en utilisant POST en place de OBTENIR que nous sommes sont les données de validation pour la serveur.
La 1 ligne de code est suffisant pour obtenir les données en tant que dictionnaire dans votre cas.
Voyons la sortie,
OriginalL'auteur hygull
Si vous voulez gérer les valeurs, vous pouvez effectuer les opérations suivantes:
ou de l'utilisation de jointure de compacité:
ou de vérifier si c'est le multi de la valeur, et ensuite seulement de montrer que la liste
OriginalL'auteur eran