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

  1. #1
    Membre habitué Avatar de touftouf57
    Profil pro
    Développeur .NET
    Inscrit en
    décembre 2007
    Messages
    338
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : décembre 2007
    Messages : 338
    Points : 170
    Points
    170

    Par défaut Envoyer une list de list d'objet en json

    Bonjour tout le monde,

    Je cherche la syntaxe pour l'appel d'une fonction ayant la signature suivante:

    public void MaFonction(List<List<MonObject>> list)

    Avec la classe MonObjet:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    public class MonObjet{
     
    public string Nom{get;set;}
    public string Prenom{get;set;}
    Public DateTime DateNaissance{get;set;}
     
    }
    J'ai tenté différent appel du genre:
    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
     
    {
      "list":
         [
             [
                {
                   "Nom":"Toto",
                   "Prénom":"Eric",
                   "DateNaissance":"/Date(14239558000)/"
                },
     
                {
                   "Nom":"Tati",
                   "Prénom":"Danielle",
                   "DateNaissance":"/Date(14239558000)/"
                },
     
                {
                   "Nom":"Tutu",
                   "Prénom":"Jonas",
                   "DateNaissance":"/Date(14239558000)/"
                }
            ]
        ]
    }
    Mais cela ne fonctionne pas, à l'entrée de la méthode, le paramètre list est null.

    Est-ce que c'est parce que WCF n'arrive pas à convertir le json en list de list de MonObjet?
    Ou est-ce que je me plante complètement dans la syntaxe?


    Merci d'avance

  2. #2
    Membre averti Avatar de joKED
    Profil pro
    Imposteur en chef
    Inscrit en
    février 2006
    Messages
    304
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Imposteur en chef

    Informations forums :
    Inscription : février 2006
    Messages : 304
    Points : 373
    Points
    373

    Par défaut

    Bonjour,

    Je te confirme que WCF gère très bien les list de list d'objets en entrée. Le problème n'est probablement pas là.

    Souvent, lorsqu'un param en entrée est indiqué null, c'est que WCF n'a pas réussi à désérialiser correctement celui qu'on lui a passé.
    Peux tu fournir la signature complète de ta méthode WCF ? Sans oublier l'attribut WebInvoke ? Plus précisément pour le RequestFormat (qui devrait être en Json) et le BodyStyle (qui devrait être, d'après le json que tu as fournit, défini sur WrappedRequest) ?

    Avec tout ça, on pourra y voir plus clair.
    Tant va la cruche à l'eau qu'à la fin y'a plus d'eau.

  3. #3
    Membre habitué Avatar de touftouf57
    Profil pro
    Développeur .NET
    Inscrit en
    décembre 2007
    Messages
    338
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : décembre 2007
    Messages : 338
    Points : 170
    Points
    170

    Par défaut

    Merci,

    Oui effectivement WCF gère très bien les entrées de list de list d'objet.

    J'ai trouvé mon erreur. Comme je me suis senti guignol.
    L'erreur était dans la casse de la variable list.

    Dans l'implémentation du contrat c'était celle ci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MaFonction(List<List<MonObject>> list)
    alors que dans la déclaration du contract c'était celle ci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MaFonction(List<List<MonObject>> List)
    Vu que je débuggais à l'entrée de l'implémentation, c'était normal que ma variable était à null, vu qu'il n'y avait pas la "même signature" avec le contract.

    Merci du coup de main tout de même.

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

Discussions similaires

  1. JSON - Envoyer une liste d'objets au controller MVC 2
    Par blasil64 dans le forum ASP.NET Ajax
    Réponses: 0
    Dernier message: 13/12/2012, 09h32
  2. Créer une liste d'objets statiques dans une classe
    Par crossbowman dans le forum C++
    Réponses: 3
    Dernier message: 13/03/2006, 09h11
  3. methode qui retourne une liste d'objets du meme type
    Par anoukhan dans le forum Oracle
    Réponses: 8
    Dernier message: 12/01/2006, 18h38
  4. Tri d'une liste d'objet CObList
    Par cjacquel dans le forum MFC
    Réponses: 1
    Dernier message: 13/07/2005, 13h50
  5. [MFC] Retourner une liste d'objets
    Par 1cado dans le forum MFC
    Réponses: 10
    Dernier message: 28/07/2003, 12h11

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