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

Silverlight Discussion :

JSON + Deserialize


Sujet :

Silverlight

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 55
    Par défaut JSON + Deserialize
    Slt le forum,
    J'ai besoin d'aide.
    Voila, j'aimerai deserialisez un json mais ca marche pas !!
    J'ai tenté plusieurs méthodes mais toujours rien. Rien n'y fait.

    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
       Uri serviceUri1 = new Uri("http://95.130.9.90/file.json", UriKind.RelativeOrAbsolute);
                WebClient downloader1 = new WebClient();
                downloader1.OpenReadCompleted += new OpenReadCompletedEventHandler(downloader_OpenReadComp);
                downloader1.OpenReadAsync(serviceUri1);
     
    void downloader_OpenReadComp(object sender, OpenReadCompletedEventArgs e)
            {
                if (e.Result != null)
                {
                    StreamReader s = null;
                    try
                    {
                        s = new StreamReader(reply);
                        Stream responseStream = e.Result;
                        JsonObject users = (JsonObject)JsonArray.Load(responseStream);
     
                        var members = from member in users
                                       select member;
    J'ai essayé d'autres fonctions comme Deserialize<List mais cela ne marche pas.
    Est ce quelqu'un aurait une idée dans la tête?
    Thank you very much !!

  2. #2
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 55
    Par défaut
    Merci pour le lien.
    J'ai toujours la même erreur:
    Invalid escape code encountered in a JSON string.
    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
    WebClient proxy = new WebClient();
                proxy.OpenReadCompleted += new OpenReadCompletedEventHandler(proxy_OpenReadCompleted);
                proxy.OpenReadAsync(new Uri("http://95.130.9.90/file.json"));
            }
    
            void proxy_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e)
            {
                Stream strm = e.Result;
                DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(Flights[]));
                Flights[] ppl = (Flights[])ser.ReadObject(strm);
    
                if (ppl.Length > 0)
                {
                    // do something with the data
                    // bind, interate, whatever
                }
            }
    Ca beug à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Flights[] ppl = (Flights[])ser.ReadObject(strm);
    Est ce que s'il manque un DataMember dans la classe Flights ca peut causer ce beug?

  4. #4
    Expert confirmé
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par défaut
    On dirait bien que c'est ton json qui n'est pas valide.

    Comment est-ce que tu l'a créé ?

    Est-ce que tes classes côtés client et serveur sont bien identiques ?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 55
    Par défaut
    Ce n'est pas moi qui est crée le fichier json.
    Je le consultes simplement à l'adresse suivante : http://95.130.9.90/file.json

  6. #6
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    Citation Envoyé par galileogis Voir le message
    Ce n'est pas moi qui est crée le fichier json.
    Je le consultes simplement à l'adresse suivante : http://95.130.9.90/file.json
    Qui créé ce Json ? Es-tu sur qu'il est valide ?

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 55
    Par défaut
    J'ai testé le json sur http://www.jsonlint.com/

    Resultats

    syntax error, unexpected TINVALID at line 30266
    Parsing failed
    Le json n'est pas de moi !!

  8. #8
    Membre Expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Par défaut
    Apparemment le souci vient de l'utilisation de chaines multi-lignes ce qui n'est à priori pas supporté par JSON.
    Il faudrait les remplacer par des "\n".

  9. #9
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    Citation Envoyé par galileogis Voir le message
    Le json n'est pas de moi !!
    Il faut donc que tu demandes à ce que celui-ci soit mis en conformité sinon, tu auras beau faire, cela ne marchera pas...

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 55
    Par défaut
    OKi merci pour toutes les informations.
    Je le contactes

Discussions similaires

  1. [Json] Utilisation de JSon
    Par Verboz dans le forum Autres composants
    Réponses: 1
    Dernier message: 09/01/2007, 11h47
  2. [AJAX] Récupération d'un fichier JSON avec javaScript
    Par guerin dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 26/11/2006, 19h05
  3. A la recherche d'un parser JSON
    Par hugo123 dans le forum Format d'échange (XML, JSON...)
    Réponses: 4
    Dernier message: 26/09/2006, 16h48
  4. parse JSON et expression régulière
    Par Bruno2000 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 30/06/2006, 16h39
  5. [Framework] API JSON
    Par ouioui2000 dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 20/03/2006, 11h08

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