Vous n'êtes pas identifié(e).
Bonjour
je serialise en json là ça semble fonctionner ... tjs en mode moufle
en reponse(ou requete) je reçois du json aussi du type
http://mydomain.name/?request={"version":"1.0","code":"0101","param":{"contenua":"de
l'huile","contenub":"du sucre"}}
mais à la déseralization
il exulte un message d'erreur WSGIrequest has no attribute 'read' un souci
avec simplejson
voici ma methode de désarialize :
objectrequest = [ ]
for obj in serializers.deserialize("json",request):
objectrequest.version = obj.version
objectrequest.code = obj.code
objectrequest.param = obj.param
faut il traiter la request avant de déserializer un cast ou autre
transformation ?
Merci de vos explications
tonton
Hors ligne
2011/1/24 Tonton <to.tonton _AT_ gmail.com>
> Bonjour
> en reponse(ou requete) je reçois du json aussi du type
> http://mydomain.name/?request={ <http://mydomain.name/?request=%7B>"version":"1.0","code":"0101","param":{"contenua":"de
> l'huile","contenub":"du sucre"}}
> mais à la déseralization
>
> si je precise la request en string str(request)
là l'erreur est plus clair ?
No JSON object could be decoded
http://192.168.12.60/UserMap/?request=[{"version":"1.0","code":"00","param":"{"login":"anonymous","pwd":""}}]
pour l'url de test
tonton
>
Hors ligne
Le 26 janvier 2011 10:16, Tonton <to.tonton _AT_ gmail.com> a écrit :
>
>
> 2011/1/24 Tonton <to.tonton _AT_ gmail.com>
>
>> Bonjour
>> en reponse(ou requete) je reçois du json aussi du type
>> http://mydomain.name/?request={ <http://mydomain.name/?request=%7B>"version":"1.0","code":"0101","param":{"contenua":"de
>> l'huile","contenub":"du sucre"}}
>> mais à la déseralization
>>
>> si je precise la request en string str(request)
>
> là l'erreur est plus clair ?
>
Envoyez plutôt le json dans un POST, pas dans une querystring ;-)
jean-mat
> No JSON object could be decoded
>
> http://192.168.12.60/UserMap/?request=[{<http://192.168.12.60/UserMap/?request=[%7B>"version":"1.0","code":"00","param":"{"login":"anonymous","pwd":""}}]
>
> pour l'url de test
>
> tonton
>>
>
>
> _______________________________________________
> django mailing list
> django _AT_ lists.afpy.org
> http://lists.afpy.org/mailman/listinfo/django
>
Hors ligne
2011/1/26 Jean-mathieu Grimaldi <jeanmat.grimaldi _AT_ gmail.com>
> Envoyez plutôt le json dans un POST, pas dans une querystring ;-)
>
jean-mat
>
>
> alors la methode recupere en string l'objet json de la request wsgi avec la
clef request là j'ai avancé
cartix(requ):
obj_request_json =requ.REQUEST['request']
objectrequest ={}
for obj in serializers.deserialize("json",requ.REQUEST['request']):
objectrequest['version'] = obj.version
objectrequest['code'] = obj.code
Mais je retombe sur une autre erreur
*string indices must be integers*
meme je simplifie la demande
http://192.168.12.60/UserMap/?request={"version":"1.0","code":"00"}
Hors ligne
La Python te dit:
Les indices de chaines doivent être des entiers.
Il doit avoir avec le message d'erreur, la ligne d'erreur. Probablement ton "requ.REQUEST" n'est pas un dictionnaire mais une chaine de caractères.
Hors ligne
vi c'est clairement cette ligne qui pose souci
for obj in serializers.deserialize("json",requ.REQUEST['request']):
requ.REQUEST['request'] renvoi cette string : {"version":"1.0","code":"00"}
que je souhaite deserializé dans un dictionnaire
mais non là ça mauvaise synthaxe
tonton
2011/1/26 Franck Awounang Nekdem <afranck64 _AT_ yahoo.fr>
> La Python te dit:[quote]Les indices de chaines doivent être des
> entiers.[/quote]Il doit avoir avec le message d'erreur, la ligne d'erreur.
> Probablement ton "requ.REQUEST" n'est pas un dictionnaire mais une chaine
> de caractères.
> _______________________________________________
> django mailing list
> django _AT_ lists.afpy.org
> http://lists.afpy.org/mailman/listinfo/django
>
Hors ligne
Le 26 janv. 2011 à 15:07, Tonton a écrit :
> vi c'est clairement cette ligne qui pose souci
>
> for obj in serializers.deserialize("json",requ.REQUEST['request']):
>
> requ.REQUEST['request'] renvoi cette string : {"version":"1.0","code":"00"}
> que je souhaite deserializé dans un dictionnaire
>
> mais non là ça mauvaise synthaxe
pour ce genre d'opération, utilise le module json de python plutôt que les utilitaires de (dé)sérialisation de Django [1]:
import json
for obj in json.loads(requ.REQUEST['request']):
...
[1] http://docs.djangoproject.com/en/1.2/topics/serialization/#deserializing-data
Hors ligne
d'abord merci pour vos reponses
alors dans un cas simple c'est bien un dictionnaire avec cléf valeur
{"version":"1.0","code":"00"}
mais dés complexification dirai-je le container est un liste bien moins
pratique
{ <http://mydomain.name/?request=%7B>"version":"1.0","code":"0101","param":{"contenua":"de
l'huile","contenub":"du sucre"}}
a moins que je ne creer derriere un dico en affectant key a l'indice et
value a l'indice+1 ...
tonton
2011/1/26 Romain Gaches <romain _AT_ ssji.net>
>
> Le 26 janv. 2011 à 15:07, Tonton a écrit :
>
> > vi c'est clairement cette ligne qui pose souci
> >
> > for obj in serializers.deserialize("json",requ.REQUEST['request']):
> >
> > requ.REQUEST['request'] renvoi cette string :
> {"version":"1.0","code":"00"}
> > que je souhaite deserializé dans un dictionnaire
> >
> > mais non là ça mauvaise synthaxe
>
> pour ce genre d'opération, utilise le module json de python plutôt que les
> utilitaires de (dé)sérialisation de Django [1]:
>
> import json
> for obj in json.loads(requ.REQUEST['request']):
> ...
>
>
> [1]
> http://docs.djangoproject.com/en/1.2/topics/serialization/#deserializing-data
> --
> Romain Gaches
> romain _AT_ ssji.net
>
>
>
> _______________________________________________
> django mailing list
> django _AT_ lists.afpy.org
> http://lists.afpy.org/mailman/listinfo/django
>
Hors ligne