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 averti
    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
    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 Expert
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    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 averti
    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
    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 Expert
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    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 averti
    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
    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 Expert
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    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 averti
    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
    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 Expert
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    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 averti
    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
    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