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

AngularJS Discussion :

Supprimer différents char d'une array d'objets


Sujet :

AngularJS

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2015
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2015
    Messages : 34
    Points : 24
    Points
    24
    Par défaut Supprimer différents char d'une array d'objets
    Bonjour,

    je récupère la réponse de mes web services sous format JSON, mais voilà, chaque attributs de mes objets est entouré par ["attribut"] comme ci dessous :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [{"nameInt":["Luc"],"societe":["EVaa"],"site":["PP"],"street":["03"],"postalCode":["2"],"communeSociete":["PLOU"],"websiteSociete":["www.e.fr"],"metier":["coucou"]}
    Ce qui résulte à l'affichage des choses comme : ["Luc"], ["EVaa"] (....)

    J'aurai voulu savoir comment procéder pour supprimer [" et "] à chaque attribut ?

    J'ai créé un filter mais le replace ne peut pas prendre en compte un objet visiblement...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    .filter('cleanJson', function(){
      return function(input){
        if(input){
          return input.replace('[', '');
        }
      }
    })

    J'ai beau cherché, à part replace, je trouve pas grand chose... Si vous avez une idée pour solutionner cela je suis preneur !


    Merci de m'avoir lu,

    Bonne journée,

    A+

  2. #2
    Membre chevronné
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Points : 1 787
    Points
    1 787
    Par défaut
    Très étrange, parce que ce que tu vois c'est que tous tes attributs sont des tableaux avec une seule valeur dedans ...
    Note que tu as
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    [{"nameInt":["Luc"],"societe":["EVaa"],"site":["PP"],"street":["03"],"postalCode":["2"],"communeSociete":["PLOU"],"websiteSociete":["www.e.fr"],"metier":["coucou"]}
    et non pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    [{"nameInt":"[Luc]","societe":"[EVaa]","site":"[PP]","street":"[03]","postalCode":"[2]","communeSociete":"[PLOU]","websiteSociete":"[www.e.fr]","metier":"[coucou]"}
    Tu as quoi côté serveur ?

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2015
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2015
    Messages : 34
    Points : 24
    Points
    24
    Par défaut
    Merci pour ta réponse,

    alors, côté serveur en fait, à la sortie de ma méthode j'obtient une arrayList d'objets et dans chaque objet les attributs sont dans une arrayList...

    C'est du php, mais voici à quoi cela ressemble :

    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
         // retourne les employés du site auquel est rattaché l'utilisateur
         public function getEmployeeSite($site){
                $utils = new Utils();  
                $login = new login();
                $login->inputLogin();
     
                $filters = '(site=' . $site . ')';
                $baseDN = 'ou=peoples,dc=group,dc=eu';
                $scope = 'Zend\Ldap\Ldap::SEARCH_SCOPE_SUB';                  
                $attributes = array('dn', 'cn', 'societe', 'site', 'street', 'postalcode', 'l', 'pager', 'title', 'mail', 'telephonenumber');
     
                //requête
                $result =  $login->request($filters, $baseDN, $scope, $attributes);
     
                // loop pour le résultat
                $finalResult = $utils->afficheDetailsUser($result);
     
                // retourne array           
                return $finalResult;
         }
    C'est cette méthode là qui me génère des objets d'array ::

    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    public function afficheDetailsUser($result){
                $arrayUser = array();
     
                foreach($result as $item){
                            $InternalUser = new InternalUsers();
     
                            if(array_key_exists('cn', $item)){
                                $InternalUser->nameInt = $item['cn'];
                            }
                            if(array_key_exists('societe', $item)){
                                $InternalUser->societe = $item['societe'];
                            }
                            if(array_key_exists('site', $item)){
                                $InternalUser->site    = $item['site'];
                            }
                            if(array_key_exists('street', $item)){
                                $InternalUser->street  = $item['street'];
                            }
                            if(array_key_exists('postalcode', $item)){
                                $InternalUser->postalCode = $item['postalcode'];
                            }
                            if(array_key_exists('l', $item)){
                                $InternalUser->communeSociete = $item['l'];
                            }
                            if(array_key_exists('pager', $item)){
                                $InternalUser->websiteSociete = $item['pager'];
                            }
                            if(array_key_exists('title', $item)){
                                $InternalUser->metier = $item['title'];
                            }
                            if(array_key_exists('mail', $item)){
                                $InternalUser->mailInt = $item['mail'];
                            }
                            if(array_key_exists('telephonenumber', $item)){
                                $InternalUser->phoneNumber = $item['telephonenumber'];
                            }
                            $arrayUser[] = $InternalUser;
                        }
                        return $arrayUser;
            }

    Selon toi il faut que je gère ça côté serveur ? Car pour le coup, je n'ai pas trouvé de solution!

  4. #4
    Membre chevronné
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Points : 1 787
    Points
    1 787
    Par défaut
    A priori oui, il semblerait que tous tes attributs sont des tableaux.
    Tu pourrais donner le code de InternalUsers ?

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2015
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2015
    Messages : 34
    Points : 24
    Points
    24
    Par défaut
    D'accords, Voici le code d'internalUsers :

    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
     
    class InternalUsers {
     
     
     
            public $nameInt= "";
            public $societe= "";
            public $site= "";
            public $street= "";
            public $postalCode= "";
            public $communeSociete= "";
            public $websiteSociete= "";
            public $metier= "";
            public $mailInt= "";
            public $phoneNumber= "";
         //   public $picture= "";
     
    }
    mais je ne vois pas ce qui génère l'arrayList pour chaque attribut ? Cela ne vient pas plutôt de ma méthode où je plate $item['attribut'] dans chacun de mes attributs d'internalUsers ?

  6. #6
    Membre chevronné
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Points : 1 787
    Points
    1 787
    Par défaut
    Si, mais j'essayais de savoir si les attributs étaient des tableaux, mais là ya pas la réponse.
    Tu peux essayer de remplacer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $InternalUser->societe = $item['societe'];
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $InternalUser->societe = $item['societe'][0];
    pour vérifier si c'est bien un tableau ? (si c'est bien un tableau, ça devrait être bon pour le champ société dans ton json).
    Si c'est bien un tableau de valeurs, alors tu as un problème fonctionnel: tu essayes d'afficher dans un champ unique des valeurs multiple

  7. #7
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2015
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2015
    Messages : 34
    Points : 24
    Points
    24
    Par défaut
    Merci pour ta réponse, cela fonctionne !

    Si cela ne te dérange pas, j'aimerai savoir en quoi le [0] change la donne sur le résultat présent ?

  8. #8
    Membre chevronné
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Points : 1 787
    Points
    1 787
    Par défaut
    et tous les autres éléments de $item sont des tableaux. En mettant [0] on ne prend que le premier élément. Mais cela pose potentiellement un problème fonctionnel (un exemple parlant c'est le numéro de téléphone, là tu ne vas afficher que le premier, même s'il y a en plusieurs dans ton LDAP)

  9. #9
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2015
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2015
    Messages : 34
    Points : 24
    Points
    24
    Par défaut
    D'accords, merci des précisions. Dans le cas précis, le ldap que j'utilise ne contient que des String, cela ne me pose pas de problèmes!

    Bonne journée,

    Bonop

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Supprimer un objet d'une liste d'objet anonyme
    Par blackshadow153 dans le forum VB.NET
    Réponses: 12
    Dernier message: 26/11/2008, 14h45
  2. Réponses: 3
    Dernier message: 03/06/2008, 15h44
  3. Supprimer une liste des objets
    Par Sun03 dans le forum JPA
    Réponses: 12
    Dernier message: 09/04/2008, 11h15
  4. Test de Key dans une array of Char
    Par Jipété dans le forum Langage
    Réponses: 3
    Dernier message: 29/03/2008, 16h49
  5. supprimer les espaces dans une chaine de char
    Par poulette3000 dans le forum Linux
    Réponses: 2
    Dernier message: 17/10/2007, 11h45

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