ich mit einer Antwort wie die folgenden Arbeiten:Wie das Datum (Millisekunden) mit JSON.NET deserialisieren?
{"id":"https://login.salesforce.com/id/00Dx0000000BV7z/005x00000012Q9P",
"issued_at":"1278448832702","instance_url":"https://na1.salesforce.com",
"signature":"0CmxinZir53Yex7nE0TD+zMpvIWYGb/bdJh6XfOH6EQ=","access_token":
"00Dx0000000BV7z!AR8AQAxo9UfVkh8AlV0Gomt9Czx9LjHnSSpwBMmbRcgKFmxOtvxjTrKW1
9ye6PE3Ds1eQz3z8jr3W7_VbWmEu4Q8TVGSTHxs"}
Ich versuche, diese in eine Klasse deserialisieren, die wie folgt aussieht:
public class TokenResponse {
public string Id { get; set; }
[JsonProperty(PropertyName = "issued_at")]
public DateTime IssuedAt { get; set; }
public string Signature { get; set; }
[JsonProperty(PropertyName = "instance_url")]
public string InstanceUrl { get; set; }
[JsonProperty(PropertyName = "access_token")]
public string AccessToken { get; set; }
}
Der Aufruf zu deserialisieren ist ziemlich einfach:
JsonConvert.DeserializeObject<TokenResponse>(response.Content);
Dies zu einer Ausnahme:
Could not convert string to DateTime: 1278448832702.
Gibt es eine Möglichkeit, JSON.NET dieses Datum korrekt deserialisieren zu lassen?
Vergessen Sie nicht, 'CanWrite()' zu überschreiben, um false zurückzugeben. –
@BrianRogers Es würde keinen Schaden während der Deserialisierung .. – I4V
Um genau zu sein, sollten Sie den Konstruktor von 'DateTime' verwenden, mit dem Sie' DateTimeKind.Utc' übergeben können. –