【发布时间】:2014-09-03 05:09:45
【问题描述】:
我在使用 RestSharp 从以下 JSON 结果中提取“Id”属性时遇到问题: **这里是 JSON*:
{
"odata.metadata":"Api/v1/$metadata#Folders","odata.count":"1","value":
[
{
"odata.id":"/Api/v1/Folders('c8644e97b4ca4353b5bd74a0cc37588214')","Presentations@odata.navigationLinkUrl":"/Api/v1/Folders('c8644e97b4ca4353b5bd74a0cc37588214')/Presentations","#UpdatePermissions":
{
"target":"Api/v1/Folders('c8644e97b4ca4353b5bd74a0cc37588214')/UpdatePermissions"
}
,"Id":"c8644e97b4ca4353b5bd74a0cc37588214","Name":"2013-AAFGSW","Owner":"John Doe","Description":"EPIDEM 150.03, Summer 2013","CreationDate":"2014-06-09T22:00:43","LastModified":"2014-06-09T22:00:43","ParentFolderId":"2f5469c7bdf641878c8baf2988ceeb9a14","Recycled":false,"Type":"Folder"
}
]
}
这是我正在使用的课程:
public class Value
{
public string Id { get; set; }
public string Name { get; set; }
public string Owner { get; set; }
public string Description { get; set; }
public string CreationDate { get; set; }
public string LastModified { get; set; }
public string ParentFolderId { get; set; }
public bool Recycled { get; set; }
public string Type { get; set; }
}
public class FolderRoot <T>
{
public List<Value> value { get; set; }
}
这是请求代码:
var BuildFolderIdRequest = new RestRequest(Method.GET);
BuildFolderIdRequest.Resource = string.Format("Folders?$filter=Name eq '{0}'",x.event_locator);
BuildFolderIdRequest.RequestFormat = DataFormat.Json;
BuildFolderIdRequest.OnBeforeDeserialization = resp => { resp.ContentType = "application/json"; };
BuildFolderIdRequest.AddHeader("apikey", ApiKey);
var Fold = MediasiteClient.Execute<FolderRoot<Value>>(BuildFolderIdRequest);
Console.WriteLine("The folder content is {0}", Fold.Content);
Console.WriteLine("The folder Id is {0}", Fold.Data.????);
Console.ReadKey();
问题是试图提取“Id”——因为我不能用“Fold.Data.Id”来做到这一点,而我只是将“Fold.Data.value”作为我唯一的选择......
【问题讨论】:
-
如果答案解决了您的问题,请不要忘记将答案标记为已接受。