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

Symfony PHP Discussion :

impossible de lire l objet json renvoyé par mon controller symfony


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2016
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2016
    Messages : 29
    Par défaut impossible de lire l objet json renvoyé par mon controller symfony
    bonjour je reviens avec un autre sujet.
    en fait j essais de generer les graph avec la librerie morris.js, pour cela,
    j ai renvoyé un objet json ( outgoingmobiles )dans ma page twig depuis mon controller.
    quand je fais donc un {{dump(outgoingmobiles)}} ou un {{outgoingmobiles}} j ai bien le resultat attendu; ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    [
    {"startTime":"2016-06-09 00:00:00","callAttempts":2036},
    {"startTime":"2016-06-10 00:00:00","callAttempts":2132},
    {"startTime":"2016-06-11 00:00:00","callAttempts":2100},
    {"startTime":"2016-06-12 00:00:00","callAttempts":1407},
    {"startTime":"2016-06-13 00:00:00","callAttempts":2137},
    {"startTime":"2016-06-14 00:00:00","callAttempts":2055},
    {"startTime":"2016-06-15 00:00:00","callAttempts":2039}]
    mais quand je lui passe à fonction morris() commee ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    		<script type="text/javascript">
        	var elt = {{outgoingmobiles|json_encode()|raw}};
     
    			  Morris.Bar({ element: 'tutoriel',
    			                data:elt, //objet json
    			                xkey:'startTime',
    			                ykeys:['callAttempts'],
    			                labels:['vue']
    			  });
    		</script>
    je n ai aucun resultat mais quand je copie le resultat du {{dump(outgoingmobiles)}} affiché sur mon navigateur et que je le passe en dure à mon var elt comme ceci:
    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
     
           {% set data [
               {"startTime":"2016-06-09 00:00:00","callAttempts":2036},
                {"startTime":"2016-06-10 00:00:00","callAttempts":2132},
                {"startTime":"2016-06-11 00:00:00","callAttempts":2100},
                {"startTime":"2016-06-12 00:00:00","callAttempts":1407},
               {"startTime":"2016-06-13 00:00:00","callAttempts":2137},
              {"startTime":"2016-06-14 00:00:00","callAttempts":2055},
              {"startTime":"2016-06-15 00:00:00","callAttempts":2039}
            ] %}
    	<script type="text/javascript">
        	var elt = {{data|json_encode()|raw}};
     
    			  Morris.Bar({ element: 'tutoriel',
    			                data:elt, //objet json
    			                xkey:'startTime',
    			                ykeys:['callAttempts'],
    			                labels:['vue']
    			  });
    		</script>
    cela me genere mon graph.
    je ne comprend pas ce qui ce passe. quelqu'un peux m aider svp?

  2. #2
    Membre extrêmement actif
    Avatar de dukoid
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2012
    Messages
    2 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 100
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    var elt = {{outgoingmobiles|json_encode()|raw}};

    tu encodes outgoingmobiles en json alors qu'il est déjà en json
    ensuite outgoingmobiles tu appliques raw donc tu lui dit d'interpreter les balises, mais quelle balise ??? c'est du json

    bref 2 choses inutiles !!!

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2016
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2016
    Messages : 29
    Par défaut
    oui je sais c est un peu bizar de d encoder outgoingmobiles mobile alors que c est deja du json mais tu vas trouver encore plus bizar quand je te dis qu apres avois copié le resultat affiché apres mon {{dump(outgoingmobiles)}}; et passé en dure à mon {% set data[]= [... //contenu de mon json ]%} ;
    lorsque je fais dans mon javascript ceci :
    je n ai pas mon resultat. mais lorsque je fais ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var elt = {{data|json_encode()|raw}};
    j obtien le resultat attendu, pourtant tout comme outgoingmobile, data est aussi du json.
    en ce qui conserne le var elt = {{outgoingmobiles|json_encode()|raw}}; meme lorsque je fais sans mettre le |json_encode()|raw ou san le |raw, j ai toujours rien.
    j ai jamais eu une erreur aussi bizar.

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2016
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2016
    Messages : 29
    Par défaut
    une derniere chose quand je fais {{data[0].startTime}} j ai le temps mais quand je fais {{outgoingmobiles[0].startTime}} j ai rien.
    queske tu en dis?

  5. #5
    Membre extrêmement actif
    Avatar de dukoid
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2012
    Messages
    2 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 100
    Par défaut
    pour voir la structure tu peux faire un dump.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    {{ dump(outgoingmobiles) }}
    analyse la structure...

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2016
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2016
    Messages : 29
    Par défaut
    oui je l ai fais plus haut et j ai eu ceci comme resultat:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    string(1625) "[
    {"startTime":"2016-06-09 00:00:00","callAttempts":2036},
    {"startTime":"2016-06-10 00:00:00","callAttempts":2132},
    {"startTime":"2016-06-11 00:00:00","callAttempts":2100},
    {"startTime":"2016-06-12 00:00:00","callAttempts":1407},
    {"startTime":"2016-06-13 00:00:00","callAttempts":2137},
    {"startTime":"2016-06-14 00:00:00","callAttempts":2055},
    {"startTime":"2016-06-15 00:00:00","callAttempts":2039}]"
    j esper que c est pas le petit string du debut qui est la cause du probleme.

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/08/2016, 11h27
  2. Réponses: 0
    Dernier message: 25/09/2010, 11h56
  3. Impossible de lire les fichiers AVI créés par OpenCV
    Par cjacquel dans le forum OpenCV
    Réponses: 1
    Dernier message: 12/01/2009, 11h51
  4. Réponses: 1
    Dernier message: 09/06/2008, 16h32
  5. Réponses: 6
    Dernier message: 24/08/2006, 12h17

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