Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 对具有“反序列化”属性的键使用反序列化属性&引用;在里面_C#_Json_Restsharp - Fatal编程技术网

C# 对具有“反序列化”属性的键使用反序列化属性&引用;在里面

C# 对具有“反序列化”属性的键使用反序列化属性&引用;在里面,c#,json,restsharp,C#,Json,Restsharp,在使用RestSharp时,我无法获取包含的键的值 以下是我的JSON: { ".issued": "Wed, 24 Jun 2015 20:59:57 GMT", ".expires": "Wed, 08 Jul 2015 20:59:57 GMT" } 我正在反序列化的模型: class TokenModel { [DeserializeAs(Name = ".issued")] public DateTime Issued { get; set; }

在使用RestSharp时,我无法获取包含
的键的值

以下是我的JSON:

{
    ".issued": "Wed, 24 Jun 2015 20:59:57 GMT",
    ".expires": "Wed, 08 Jul 2015 20:59:57 GMT"
}
我正在反序列化的模型:

class TokenModel
{
    [DeserializeAs(Name = ".issued")]
    public DateTime Issued { get; set; }
    [DeserializeAs(Name = ".expires")]
    public DateTime Expires { get; set; }
}
调试:

GetToken() - success - issued: 1/1/0001 12:00:00 AM
GetToken() - success - expires: 1/1/0001 12:00:00 AM
我还将
RestRequest.DateFormat
设置为:

request.DateFormat = "ddd, dd MMM yyyy HH':'mm':'ss 'GMT'";

我已经尽我所能地遵守了这些文件,没有任何运气

我也想弄明白这一点。我不得不手动解析响应内容

    Regex IssuedRegex = new Regex(@"\""\.issued\"":\s*\""([^\""]+)\""");
    Regex ExpiresRegex = new Regex(@"\""\.expires\"":\s*\""([^\""]+)\""");

    var response = authClient.Execute<AccessToken>(request);
    AccessToken = response.Data;

    // workaround for bug in RestSharp
    var im = IssuedRegex.Match(response.Content);
    if (im.Success)
        AccessToken.Issued = DateTime.ParseExact(im.Groups[1].Value, "R", CultureInfo.InvariantCulture);

    var em = ExpiresRegex.Match(response.Content);
    if (em.Success)
        AccessToken.Expires = DateTime.ParseExact(em.Groups[1].Value, "R", CultureInfo.InvariantCulture);
Regex-IssuedRegex=new Regex(@“\\”已发布“:\s*\”([^\”“]+)\”);
Regex expireseregex=新的正则表达式(@“\”\.expires\:\s*\”([^\”]+)\”;
var response=authClient.Execute(请求);
AccessToken=response.Data;
//RestSharp中bug的解决方法
var im=IssuedRegex.Match(response.Content);
如果(我成功了)
AccessToken.Issued=DateTime.ParseExact(im.Groups[1]。值,“R”,CultureInfo.InvariantCulture);
var em=ExpiresRegex.Match(response.Content);
如果(em.Success)
AccessToken.Expires=DateTime.ParseExact(em.Groups[1]。值“R”,CultureInfo.InvariantCulture);