La désérialisation JToken contenu d'un Objet
Je veux désérialiser JToken contenu d'un objet (User
). Comment suis-je capable de faire cela?
Voici ma chaîne json:
string json = @"[{""UserId"":0,""Username"":""jj.stranger"",""FirstName"":""JJ"",""LastName"":""stranger""}]";
Cet être envoyé à une api paramètre comme JToken
.
Classe d'utilisateur:
public class user
{
public int UserId {get; set;}
public string Username {get; set;}
public string FirstName {get; set;}
public string LastName {get; set;}
}
Web Méthode De L'Api:
public IHttpActionResult Post([FromBody]JToken users)
{
UserModel.SaveUser(users);
//...
}
API Invocation dans Salesforce:
string json = '[{"UserId":0,"Username":"jj.stranger","FirstName":"JJ","LastName":"stranger"}];
HttpRequest req = new HttpRequest();
HttpResponse res = new HttpResponse();
Http http = new Http();
req.setEndpoint('test.com/api/UserManagement');
req.setMethod('POST');
req.setBody(json);
req.setHeader('Content-Type', 'application/json');
try {
res = http.send(req);
} catch(System.CalloutException e) {
System.debug('Callout error:' + e);
}
System.debug(res.getBody());
OriginalL'auteur Robert Mansion | 2015-02-13
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser JToken.ToObject méthode générique.
http://www.nudoq.org/#!/Packages/Newtonsoft.Json/Newtonsoft.Json/JToken/M/ToObject(T)
Serveur de Code de l'API:
Voici le code client que j'utilise.
L'objet est converti aux Utilisateurs de tableau sans aucun problème.
List<User> userList = users.ToObject<List<User>>();
cependant, il me donne une erreur,Error converting value
.Pouvez-vous essayer d'utilisateurs.ToObject<Utilisateur[]>(). Je pense JSON.net considère l'objet comme un tableau. En attendant je vais essayer de reproduire cela dans ma machine.
Je ne fonctionne pas.
Je l'ai essayé aujourd'hui et il fonctionne. Comment êtes-vous invoquer l'API? Pouvez-vous partager le code que vous utilisez pour l'invocation?
voir ma mise à jour de question. Cependant, je ne suis pas le tester en appelant l'API, j'ai créé un projet de type console pour tester la
deserialization
.OriginalL'auteur Sarathy