我與類似下面的響應工作:如何使用JSON.NET反序列化日期(毫秒)?
{"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"}
我試圖反序列化到一個類,看起來像這樣:
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; }
}
調用反序列化是非常簡單的:
JsonConvert.DeserializeObject<TokenResponse>(response.Content);
這將導致一個例外:
Could not convert string to DateTime: 1278448832702.
有沒有一種方法,我可以得到JSON.NET正確地反序列化這個日期?
不要忘記重寫'CanWrite()'返回false。 –
@BrianRogers它不會做任何傷害,而反序列化.. – I4V
是準確的,你應該使用DateTime'的'構造,使您可以通過'DateTimeKind.Utc'。 –