http://xurrency.com/api ce service Web renvoie un message de réponse json. comment puis-je utiliser ce message en tant qu'objet dans mon projet .net (asp.net web app)utilise l'objet json dans C#
Répondre
Vous pouvez commencer par définir les classes du modèle qui va gérer la réponse:
public class XurrencyResponse
{
public string Status { get; set; }
public string Code { get; set; }
public string Message { get; set; }
public Result Result { get; set; }
}
public class Result
{
public decimal Value { get; set; }
public string Target { get; set; }
public string Base { get; set; }
public DateTime Updated_At { get; set; }
}
Une fois que vous les avez vous suffit d'appeler le service:
class Program
{
static void Main()
{
var serializer = new JavaScriptSerializer();
string json = null;
using (var client = new WebClient())
{
json = client.DownloadString("http://xurrency.com/api/eur/gbp/1.5");
}
var response = serializer.Deserialize<XurrencyResponse>(json);
Console.WriteLine(response.Status);
}
}
Vous avez besoin de deserialize les données JSON dans un objet avant de pouvoir l'utiliser.
Si vous faites référence à System.Web.Extensions.dll
et ajoutez un using System.Web.Script.Serialization;
directive vers le haut du (s) fichier (s) de code nécessaire, alors vous devriez avoir accès à JavaScriptSerializer
- alors vous créez simplement une classe qui ressemble au JSON et appelle `Deserialize, ie pour
{"result":{"updated_at":"2010-10-02T02:06:00Z", "value":1.3014,"target":"gbp","base":"eur"}, "code":0, "status":"ok"}
Vous pourriez avoir:
public class XurrencyResponse {
public class Result {
public string updated_at {get;set;}
public decimal value {get;set;}
public string target {get;set;}
public string base {get;set;}
}
public Result result {get;set;}
public int code {get;set;}
public string status {get;set;}
}
appellent alors serializer.Deserialize<XurrencyResponse>
, où serializer
est une instance JavaScriptSerializer
.
Une autre alternative est d'utiliser Json.NET
J'utilise cette analyse des données lors de JSON, et ont été très satisfaits de cette bibliothèque, puisque vous n'avez pas besoin de modéliser des classes explicites pour contenir les données si vous analysez sortie simple, et vous donne des fonctionnalités avancées si vous avez besoin d'analyser la sortie plus compliquée.
Vérifiez cette bibliothèque avant de faire votre choix :)
- 1. Décodage JSON dans C#
- 2. C# DataGridView Ajouter utilise ToString()?
- 3. URL décodage JSON en C#
- 4. Generics/JSON JavaScriptSerializer C#
- 5. Json Objet dans un tableau C# multidimensionnel?
- 6. C# Parse json Date?
- 7. Json importation échoue - C#
- 8. Bibliothèque JSON pour C#
- 9. C# mvc évasion JSON
- 10. Objective-C JSON Boolean
- 11. C: processeur JSON
- 12. C# application qui utilise le Bloc-notes
- 13. C# asp.net utilise Windows Forms WebBrowser
- 14. utilise la bibliothèque de classes vC++ dans C#
- 15. Insertion dans un arbre binaire qui utilise void * en C
- 16. C# Désérialisation Json tableau sans []
- 17. C# exit générique ForEach qui utilise lambda
- 18. C++ utilise new to Image gdi +
- 19. Déserialiser json avec json.net C#
- 20. Comment gérer JSON en C#?
- 21. Analyser JSON en utilisant C?
- 22. JSON vs XML Benchmarks? (C#)
- 23. Une bonne bibliothèque JS qui crée des graphiques, utilise SVG/VML et utilise JSON comme ensemble de données
- 24. Json dans VB.net version
- 25. Est-il possible qu'une application C++ utilise CRT 4053 lorsque le manifeste utilise 762?
- 26. Comment lire le format de fichier JSON et comment écrire le JSON dans C# asp.net
- 27. Utilise pour MachineKey dans ASP.NET
- 28. Quel userAgent utilise dans cakePHP?
- 29. C# Comment récupérer des données Json dans un tableau
- 30. JSON pour définir les options dans l'application C#
'XurrencyResponse', lol, vous lisez mon esprit. Même convention de nommage. J'aime ça :-) –
@Darin - Je ne sais pas pourquoi, mais je préfère les types imbriqués pour mes DTO JSON. Je l'ai nommé à l'origine "... Résultat", mais * dans ce cas * il est ambigu avec le 'Result' interne –