essaie de faire passer cet objet entre deux modules:Passe JSON, désérialisation échoué en raison d'backslashs
public class Transaction
{
public string ID { get; set; }
public string ErrorMessage { get; set; }
public int ErrorCode { get; set; }
}
sérialisation:
transaction.ErrorMessage = "temptemptemp";
transaction.ErrorCode = 123;
transaction.ID = "0";
return Ok(JsonConvert.SerializeObject(transaction));
désérialisation:
using (WebClient webClient = new WebClient())
{
string json = webClient.DownloadString(url);
Transaction transaction = JsonConvert.DeserializeObject<Transaction>(json);
}
dans la fenêtre de mise au point, Je vois les deux chaînes comme ceci:
- après sérialisation - { "ID": "0", "ErrorMessage": "temptemptemp", "ErrorCode": 123}
- avant désérialisation - "{\" ID \ ": \" 0 \ », \ "ErrorMessage \": \ "temptemptemp \", \ "ErrorCode \": 123} »
et je reçois l'exception suivante:
valeur de conversion d'erreur "{" ID ":" 0 "," ErrorMessage ":" temptemptemp "," ErrorCode ": 123}" pour taper "WebService.Transaction". Chemin d'accès '', ligne 1, position 75.
Qu'est-ce que le 'Ok() 'méthode faire? –
La fonction 'Ok()' renvoie un 'System.Web.Http.Results.OkNegotiatedContentResult' – toy4fun
Ces barres obliques sont juste des caractères d'échappement, cela ne devrait pas affecter la conversion en JSON – AdamJeffers