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

C# Discussion :

c sharp json Erreur : Unexpected character encountered while parsing value: . Path '', line 0, position 0. [Débutant]


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 39
    Par défaut c sharp json Erreur : Unexpected character encountered while parsing value: . Path '', line 0, position 0.
    Bonjour,
    je veux récupérer le contenu d'une page web au format Json dans un objet C sharp. Malheureusement, je reçois le message suivant:

    "Unexpected character encountered while parsing value: . Path '', line 0, position 0.".

    Voici le code qui génère cette erreur.

    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
     
                public static GoogleMapsResult Calcul(GoogleMapsPoint origine, GoogleMapsPoint destination)
            {
                GoogleMapsResult result = new GoogleMapsResult();
                string path = GoogleMapsParameter.UrlDistance  + GoogleMapsParameter.GmKey;
                path = path + "&origine=" + origine.Latitude + ","  + origine.Longitude;
                path = path + "&destination=" + destination.Latitude + "," + destination.Longitude;
     
                using (var w = new WebClient())
                {
                    var json_data = string.Empty;
                    try
                    {
                        json_data = w.DownloadString(new Uri(path));
     
                        if (!string.IsNullOrEmpty(json_data))
                        {
                            result = JsonConvert.DeserializeObject<GoogleMapsResult>(json_data);
                        }                 
                    }
                    catch (WebException ex)
                    {
                        IhmErrors.ManageExceptionDisplay(ex, Enums.ExceptionBehavior.Continue);
                    }
                }
                return result;
            }
    Quelques explications:

    • La variable Path contient l'url et il est sans erreur. Car lorsque je copie le contenu et le colle dans mon browser, j'ai bien le contenu attendu de ma page au format Json.


    • L'objet GoogleMapsResult est bien impléménté et match bien les élements du contenu au format Json.


    Mais lors de l'exécution, la variable result n'est pas alimentée. C'est l'erreur décrite plus haut qui est générée.
    En cherchant sur le net, je pense que la variable json_data doit contenir : @"{......}" or elle contient actuellement le contenu de la page de retour ( "{......}" ) sans '@' au début.
    Si l'erreur est due au fait qu'il n' ait pas '@' au début du contenu de la page, comment puis-je concatener '@' à mon contenu "{.........}"?
    J'ai essayé de concaténer avec l'opérateur + sans succès.
    Je m'excuse de ne pas pouvoir écrire intégralement le code ici par mesure de sécurité.

    Merci d'avance pour toute aide.

    Maren

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Août 2005
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 123
    Par défaut
    Bonjour,

    Je n'ai encore jamais fait joujou avec du JSON donc je ne vais pas t'être d'une grande aide mais as-tu pensé à vérifier le code JSON avec un parser sur le net ?
    http://json.parser.online.fr/

    Cordialement,

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 39
    Par défaut
    Bonjour Mattdef,

    Merci pour ta réponse.

    J'ai testé mon code Json avec ce parser et je ne suis pas surprise qu'il soit bon :-). Mon code Json est bel et bien valide.

    L'erreur persiste toujours et je ne sais pas comment résoudre ce problème.

    Merci.

    Maren

  4. #4
    Candidat au Club
    Homme Profil pro
    Ingénieur en Technologie de l'Informations
    Inscrit en
    Février 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur en Technologie de l'Informations

    Informations forums :
    Inscription : Février 2016
    Messages : 4
    Par défaut
    Salut,

    Sans utilisé les "+" pour concaténer, essaye d'utilisé String.Concat

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public static string Concat(
    	string str0,
    	string str1
    )

  5. #5
    Membre émérite
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2005
    Messages
    562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2005
    Messages : 562
    Par défaut
    Bonjour,

    Juste comme ça je dirais que ça sent le problème d'encodage ! as-tu essayé de changer l'encodage du json que tu reçois ?

    J@ck.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 39
    Par défaut
    Bonjour,

    @J@ck comment je peux changer l'encodage du contenu JSON? J'ai un peu regarder sur le net et j'ai trouvé "json_encode" utilisé, je pense, pour du javascript, moi je suis en Winform et voudrais récupérer les objets de la page au format Json et les afficher dans un formulaire en client lourd.

    @juse12k : Les objets à concaténer doivent être tous des string. Or '@' que je voudrais avoir au début de mon string n'est pas un string.

    Merci pour vos réponses. Je continue à galérer ;-)

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

Discussions similaires

  1. [AJAX] SyntaxError: JSON.parse: unexpected character
    Par nanousik dans le forum jQuery
    Réponses: 4
    Dernier message: 07/08/2013, 16h49
  2. Erreur : Unexpected character in input
    Par Allen_blocci dans le forum Langage
    Réponses: 2
    Dernier message: 31/07/2013, 11h09
  3. Réponses: 6
    Dernier message: 06/05/2012, 17h41
  4. Erreur "Unexpected character in input en php"
    Par chouxe dans le forum Langage
    Réponses: 6
    Dernier message: 22/06/2011, 15h32
  5. Réponses: 7
    Dernier message: 25/03/2011, 15h21

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