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.
Quelques explications:
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; }
- 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
Partager