Affichage des données JSON à l'aide de HttpClient
Je suis en train de créer un service de crochet d'abonnement dans Visual Studio Team Services, précédemment en Ligne de Visual Studio, par programmation. Lorsqu'un projet est créé dans l'Équipe des Services, service de crochet sera automatiquement créé. Voici mon code pour " workitem créé web de crochet:
using (HttpClient client = new HttpClient())
{
client.DefaultRequestHeaders.Accept.Add(
new MediaTypeWithQualityHeaderValue("application/json"));
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic",
Convert.ToBase64String(
System.Text.ASCIIEncoding.ASCII.GetBytes(
string.Format("{0}:{1}", username, password))));
var request = new
{
publisherId = "tfs",
eventType= " workitem.created",
resourceVersion= "1.0",
consumerId= "webHooks",
consumerActionId= "httpRequest",
publisherInputs= new {
projectId= "test123",
},
consumerInputs= new {
url = "https://mydomain/api/ServiceHook/SaveWorkItem"
}
};
var response = client.PostAsync("https://mydomain/DefaultCollection/_apis/hooks/subscriptions",
new StringContent(JsonConvert.SerializeObject(request).ToString(),
Encoding.UTF8, "application/json"))
.Result;
if (response.IsSuccessStatusCode)
{
dynamic content = JsonConvert.DeserializeObject(
response.Content.ReadAsStringAsync()
.Result);
//Access variables from the returned JSON object
var appHref = content.links.applications.href;
}
}
lors de l'exécution de ce code, j'ai obtenu l'erreur suivante: Unexpected character encountered while parsing value: <. Path '',
.
Quelqu'un peut-il m'aider à résoudre ce problème?
Merci à l'avance.
Trace de la pile est:
at Newtonsoft.Json.JsonTextReader.ParseValue()
at Newtonsoft.Json.JsonTextReader.Read()
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.ReadForType(JsonReader reader, JsonContract contract, Boolean hasConverter)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType, Boolean checkAdditionalContent)
at Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader, Type objectType)
at Newtonsoft.Json.JsonConvert.DeserializeObject(String value, Type type, JsonSerializerSettings settings)
at Newtonsoft.Json.JsonConvert.DeserializeObject(String value)
at TestApplication.Program.<SetServiceHook>d__1.MoveNext() in C:\Users\Administrator\Documents\Visual Studio 2015\Projects\TestApplication\TestApplication\Program.cs:line 94
Post le stacktrace...
Vérifiez votre structure Json ici: jsonlint.com
Sur la ligne obtenez-vous l'erreur?
La même question: Sur quelle ligne avez-vous l'erreur? J'ai copié ton code et fait un test rapide avec elle. Le webhook peut être créé avec succès. La seule question est "var appHref = contenu.liens.des applications.href;" depuis des "liens".des applications.href" n'existe pas dans le message de réponse.
Désolé pour la réponse tardive.. j'ai obtenu l'erreur @ Désérialisation
Vérifiez votre structure Json ici: jsonlint.com
Sur la ligne obtenez-vous l'erreur?
La même question: Sur quelle ligne avez-vous l'erreur? J'ai copié ton code et fait un test rapide avec elle. Le webhook peut être créé avec succès. La seule question est "var appHref = contenu.liens.des applications.href;" depuis des "liens".des applications.href" n'existe pas dans le message de réponse.
Désolé pour la réponse tardive.. j'ai obtenu l'erreur @ Désérialisation
OriginalL'auteur Anjitha | 2016-06-27
Vous devez vous connecter pour publier un commentaire.
Essayer de code ci-dessous-
où RootObject est l'objet de réponse.
RootObject est la classe de votre réponse. Il est créé en fonction de la réponse au format json. Vous pouvez utiliser ce lien json2csharp.com.
OriginalL'auteur Sanket