IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

[JSON] Stringify retourne [Object object]


Sujet :

JavaScript

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre confirm� Avatar de windmastr26
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Juillet 2009
    Messages
    234
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juillet 2009
    Messages : 234
    Par d�faut [JSON] Stringify retourne [Object object]
    Salut � toutes et tous,

    Je dois concevoir une application de gestco au format web. Sur une m�me page, j'ai plusieurs champs (coordonn�es, r�f�rences, dates, etc.) ainsi qu'un gridView improvis� charg� de constituer les diff�rentes lignes d'une commande.
    Mon objectif est qu'au fur et � mesure que l'utilisateur ajoute ses lignes, celles-ci alimentent un objet JSON :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    [
      Object{
        index = 0,
        code = "article1",
        libelle = "Désignation de la 1ère ligne",
        pu = 5.00,
        qte = 10.00,
        total = 50.00
      },
      Object{
        index = 1,
        code = "article2",
        libelle = "Désignation de la 2nde ligne",
        pu = 7.00,
        qte = 3.00,
        total = 21.00
      },
    ]
    Au moment de valider la commande, l'objet JSON est int�gralement retranscrit dans un input de type "hidden". Seulement voil�, si le stockage de l'objet est bien possible dans une variable :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    eval("maVariable=" + JSON.stringify(mesLignes));
    L'enregistrement dans un input :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    $("#monInput").val(eval(JSON.stringify(mesLignes)));
    Donne le r�sultat suivant :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    [ [Object object], [Object object] ]
    Quelqu'un aurait une id�e du pourquoi du comment ?

    Merci d'avance

  2. #2
    Expert confirm�
    Avatar de Marco46
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Ao�t 2005
    Messages
    4 419
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 44
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Ao�t 2005
    Messages : 4 419
    Par d�faut
    Ton json est malform�, commence par �a.

  3. #3
    R�dacteur

    Avatar de Bovino
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par d�faut
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    eval(JSON.stringify(mesLignes))
    Oh non...

    Pourquoi utiliser eval() ???

    JSON.stringify() te retourne la chaine correspondant � l'objet JSON. Si tu fais un eval() dessus, �a va n�cessairement te recr�er l'objet JSON de d�part !
    Du coup, c'est tout � fait normal que tu ne puisses pas affecter un objet comme valeur d'un champ de formulaire.
    Pas de question technique par MP !
    Tout le monde peut participer � developpez.com, vous avez une id�e, contactez-moi !
    Mes formations video2brain : La formation compl�te sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'int�gration de JSFiddle et CodePen sur le forum

  4. #4
    Membre confirm� Avatar de windmastr26
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Juillet 2009
    Messages
    234
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juillet 2009
    Messages : 234
    Par d�faut
    D�sol� Bovino, �a fait un moment que je butte sur ce probl�me, et le "eval()" est le r�sultat d'une de mes nombreuses tentatives pour d�bloquer la situation... J'ai oubli� de l'enlever en copiant le code sur le site

    Merci Marco, � force d'avoir le nez dedans, je ne voyais plus des choses aussi simples que cela :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    lines: [
      Object{
        index = 0,
        code = "article1",
        libelle = "D�signation de la 1�re ligne",
        pu = 5.00,
        qte = 10.00,
        total = 50.00
      },
      Object{
        index = 1,
        code = "article2",
        libelle = "D�signation de la 2nde ligne",
        pu = 7.00,
        qte = 3.00,
        total = 21.00
      },
    ]
    Tout fonctionne � merveille !

    Merci � vous deux

  5. #5
    Expert confirm�
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 61
    Localisation : France, Yvelines (�le de France)

    Informations professionnelles :
    Activit� : Urbaniste
    Secteur : Sant�

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par d�faut
    Citation Envoy� par windmastr26 Voir le message
    D�sol� Bovino, �a fait un moment que je butte sur ce probl�me, et le "eval()" est le r�sultat d'une de mes nombreuses tentatives pour d�bloquer la situation... J'ai oubli� de l'enlever en copiant le code sur le site

    Merci Marco, � force d'avoir le nez dedans, je ne voyais plus des choses aussi simples que cela :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    lines: [
      Object{
        index = 0,
        code = "article1",
        libelle = "D�signation de la 1�re ligne",
        pu = 5.00,
        qte = 10.00,
        total = 50.00
      },
      Object{
        index = 1,
        code = "article2",
        libelle = "D�signation de la 2nde ligne",
        pu = 7.00,
        qte = 3.00,
        total = 21.00
      },
    ]
    Tout fonctionne � merveille !

    Merci � vous deux
    ????
    ce code provoque une syntax error
    en effet object{ �a le fait pas en js en enlevant les object la , en trop et en premplacant = par : �a fonctionne mais sans toutes ces correction ??? l� je comprends pas
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    {lines: [
      {
        index : 0,
        code : "article1",
        libelle : "Désignation de la 1ère ligne",
        pu : 5.00,
        qte : 10.00,
        total : 50.00
      },
      {
        index : 1,
        code : "article2",
        libelle : "Désignation de la 2nde ligne",
        pu : 7.00,
        qte : 3.00,
        total : 21.00
      }
    ]}
    mais lines ne sert � rien
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    test = [
      {
        index : 0,
        code : "article1",
        libelle : "Désignation de la 1ère ligne",
        pu : 5.00,
        qte : 10.00,
        total : 50.00
      },
      {
        index : 1,
        code : "article2",
        libelle : "Désignation de la 2nde ligne",
        pu : 7.00,
        qte : 3.00,
        total : 21.00
      }
    ];
    JSON.stringify(test);
    //[{"index":0,"code":"article1","libelle":"Désignation de la 1ère ligne","pu":5,"qte":10,"total":50},{"index":1,"code":"article2","libelle":"Désignation de la 2nde ligne","pu":7,"qte":3,"total":21}]
    A+JYT

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. R�ponses: 4
    Dernier message: 26/12/2012, 02h29
  2. R�ponses: 3
    Dernier message: 24/02/2012, 11h28
  3. Retourner un object avec domaine service
    Par anthride dans le forum Windows Communication Foundation
    R�ponses: 4
    Dernier message: 12/01/2012, 20h08
  4. M�thode asynchrone retournant un Object
    Par thomas_31 dans le forum GWT et Vaadin
    R�ponses: 2
    Dernier message: 29/09/2011, 16h11
  5. R�ponses: 2
    Dernier message: 24/08/2011, 19h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo