Die HTTP-Antwort (text/xml):Wie verwende ich RestSharp, um Klassenhierarchien zu deserialisieren?
<results>
<status code="ok"/>
<OWASP_CSRF_TOKEN>
<token>db8288c2e01a6e0caa5a9b52cc4570040b2714cc7a1f589670d6606d486ab98e</token>
</OWASP_CSRF_TOKEN>
</results>
Mein C# Objekte:
[DeserializeAs(Name = "results")]
public class Response
{
[DeserializeAs(Name = "status")]
public ResultStatus Status { get; set; }
public struct ResultStatus
{
[DeserializeAs(Name = "code")]
public string Code { get; set; }
}
}
internal class AuthenticationResponse : Response
{
[DeserializeAs(Name = "OWASP_CSRF_TOKEN")]
internal OWaspCsrfToken CsrfToken { get; set; }
internal struct OWaspCsrfToken
{
[DeserializeAs(Name = "token")]
internal string Token { get; set; }
}
}
Das hier Ziel ist es, haben RestSharp die HTTP-Antwort auf Objekte in Code deserialisieren. Aus irgendeinem Grund wird jedoch nur die Code
-Eigenschaft des Ergebnisstatus richtig festgelegt. Die Token
Eigenschaft ist immer null
. Wie können Objekte in Klassenhierarchien wie diesem deserialisiert werden?