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

TypeScript Discussion :

Quel type je dois donner au json ?


Sujet :

TypeScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé

    Profil pro
    Inscrit en
    Août 2008
    Messages
    1 222
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 1 222
    Par défaut Quel type je dois donner au json ?
    Bonjour je crée un array de 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
     
    //test.ts
    var all= [];
     
    var user = {};
     
    user.active ="true";
    user.value = "sk@msn.fr";
    all.push(user);
     
    var user = {};
    user.active ="true";
    user.value = "fb@msn.fr";
    all.push(user);
     
    console.log(all);
    le code fonctionne mais j'ai des erreurs:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    t.ts(44,6): error TS2339: Property 'active' does not exist on type '{}'.
    t.ts(45,6): error TS2339: Property 'value' does not exist on type '{}'.
    t.ts(49,6): error TS2339: Property 'active' does not exist on type '{}'.
    t.ts(50,6): error TS2339: Property 'value' does not exist on type '{}'.
    comment je doit typé active et value ?

    merci de vos réponse

  2. #2
    Membre éclairé

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2009
    Messages
    966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juillet 2009
    Messages : 966
    Par défaut
    plusieurs possibilité


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
    interface IUser{
        active : string;
        value : string;
        }
     
    var user : IUser;
    user.active ="true";
    user.value = "sk@msn.fr";
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
    var user : any ;
     
    user.active ="true";
    user.value = "sk@msn.fr";
    mais il vaux mieux privilégier la première solution.

  3. #3
    Membre éprouvé

    Profil pro
    Inscrit en
    Août 2008
    Messages
    1 222
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 1 222
    Par défaut
    merci de ta réponse

    j'essaye de coder avec un objet (j'ai décider de plutôt ranger mes json dans un array pour les insérers dans bdd table):

    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
     
    class Social{
        private social: string = [];
     
        public addSocial(json)
        {
            console.log("=>"+json);
            this.user.push(json);
     
        }
     
        public getSocial()
        {
            return this.user;
        }
    }
     
    interface IUser{
        active : string;
        value : string;
    }
     
    add_user = new Social();
     
    var user = {};
    user.active ="true";
    user.value = "sk@msn.fr";
    add_user.addSocial(user);
     
    var user = {};
    user.active ="true";
    user.value = "dk@msn.fr";
    add_user.addSocial(user);
     
    var user = {};
    user.active ="true";
    user.value = "s=k@skyp.fr";
    add_user.addSocial(user);
     
    console.log(JSON.stringify(add_user.getSocial()));
    je n'arrive pas à insérer mes JSON

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    =>[object Object]
     
            this.user.push(json); //erreur
    sinon j'ai aussi essayer cette solution:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
    class Social{
        private social:<IUser>= [];
     
     error TS2322: Type 'undefined[]' is not assignable to type 'string'.

  4. #4
    Membre éclairé

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2009
    Messages
    966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juillet 2009
    Messages : 966
    Par défaut
    Normal,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    class Social{
        private social:<IUser>= [];
    tu essaye de mettre a array d'any dans un objet IUser.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    class Social{
        private social:Array<IUser>= new Array<IUser>();
    }
    Puis pour passer ton object en Json
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    var MonObjSocial = new Social();
    ...
    JSON.parse(MonObjSocial);
    Pour ma part j'ai tendance a créer un object BaseObject dans lequel je rajoute mes fonction de base tel que la sérialisation en JSON et que je fais hériter a tous mes object data.

  5. #5
    Membre éprouvé

    Profil pro
    Inscrit en
    Août 2008
    Messages
    1 222
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 1 222
    Par défaut
    j'ai essayer d'appliquer ce que tu m'a dis:

    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
     
    class Social implements IUser{
     
     private social:Array<IUser>= new Array<IUser>();
        constructor (public active: string, public active: string) 
        {
     
        }
     
     
    }
     
    class interface IUser
    {
        active : string;
        value : string;
    }
     
     
     
    var user : new IUser;
    user.active ="true";
    user.value = "sk@msn.fr";
     
    var MonObjSocial = new Social(user);
    Nom : err.jpg
Affichages : 329
Taille : 55,5 Ko


    l IDE n'as l'air d'aimer le <Iuser>() ...

    et il y a un erreur il ne vois pas la class IUser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ReferenceError: IUser is not defined

  6. #6
    Membre éclairé

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2009
    Messages
    966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juillet 2009
    Messages : 966
    Par défaut
    je ne comprend absolument pas ton code.

    bon voila se que je ferrai si je devais refaire ton code comme je l'ai compris.

    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
     
     
    class Social  {
     
        public ListUser : Array<IUser> = new Array<IUser>();
     
        constructor() {
        }
     
    }
     
    interface IUser {
    	Active : boolean
    	Value : string
    }
     
     
    var lUser : IUser;
    lUser.Active = true;
    lUser.Value = "sk@msn.fr";
     
    var MonObjSocial = new Social();
    MonObjSocial.ListUser.push(lUser);
    Je ne comprend pas pourquoi, tu veux implémenter l'interface IUser dans ta classe Social ?

    peut tu m'expliquer plus clairement se que tu souhaite faire ?

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 07/07/2015, 19h34
  2. Quel type de stockage de données dois-je utiliser ?
    Par Largo13 dans le forum Android
    Réponses: 9
    Dernier message: 03/08/2012, 10h42
  3. Quels types de projets réalisez vous avec .NET
    Par Louis-Guillaume Morand dans le forum Général Dotnet
    Réponses: 106
    Dernier message: 03/12/2007, 18h44
  4. Quel type de projet choisir pour incorporer directX9...
    Par Coderm@n dans le forum DirectX
    Réponses: 6
    Dernier message: 02/08/2004, 13h24
  5. Quel type de BDD dans mon cas
    Par zoubidaman dans le forum Décisions SGBD
    Réponses: 4
    Dernier message: 10/06/2004, 18h00

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