C# 如何在Xamarin上的GetAPI中将这个JSON对象映射到C对象
下面有一个JSON对象C# 如何在Xamarin上的GetAPI中将这个JSON对象映射到C对象,c#,json,xamarin,C#,Json,Xamarin,下面有一个JSON对象 { "Metadata": { "TotalRecords": 12, "CurrentPageSize": 2, "CurrentPage": 1, "TotalPages": 2 }, "Results": [ { "Id": 1, "OwnerId": "3be73a87-a977-467a-84c0", "OwnerName": "AV", "CategoryId"
{
"Metadata": {
"TotalRecords": 12,
"CurrentPageSize": 2,
"CurrentPage": 1,
"TotalPages": 2
},
"Results": [
{
"Id": 1,
"OwnerId": "3be73a87-a977-467a-84c0",
"OwnerName": "AV",
"CategoryId": 3,
"CategoryName": "User 1 Physical",
"Name": "User 1 Speed",
"Description": null,
"NoOfMinutes": 15,
"CreatedDate": "2019-09-22T03:34:56.4033333",
"ModifiedDate": null
},
{
"Id": 2,
"OwnerId": "3be73a87-a977-467a-84c0",
"OwnerName": "AV",
"CategoryId": 1,
"CategoryName": "User 1 Technique",
"Name": "User 1 tech",
"Description": null,
"NoOfMinutes": 60,
"CreatedDate": "2019-09-22T03:34:56.4033333",
"ModifiedDate": null
}
]
}
并使用JSON2Csharp:
public class Metadata
{
public int TotalRecords { get; set; }
public int CurrentPageSize { get; set; }
public int CurrentPage { get; set; }
public int TotalPages { get; set; }
}
public class Result
{
public int Id { get; set; }
public string OwnerId { get; set; }
public string OwnerName { get; set; }
public int CategoryId { get; set; }
public string CategoryName { get; set; }
public string Name { get; set; }
public object Description { get; set; }
public int NoOfMinutes { get; set; }
public DateTime CreatedDate { get; set; }
public object ModifiedDate { get; set; }
}
public class RootObject
{
public Metadata Metadata { get; set; }
public List<Result> Results { get; set; }
}
如何将整个事件映射到Xamarin API服务中,而不仅仅是将结果引用为活动,以获取数据并返回
这是更改整个数据结构之前的原始API:
public async List<Activities> GetActivities()
{
var httpClient = new HttpClient();
httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("bearer", "ACCCESS TOKEN HERE");
var response = httpClient.GetStringAsync("https://XXX.azurewebsites.net/api/v1/Activities");
JsonConvert.DeserializeObject<Activities>(response);
}
api的返回对象是什么?如果返回对象的结构是Metadata:…,Results:[…]问题中的第一个json,则需要使用 JsonConvert.DeserializeObjectresponse
转换它 它会改变整个结构吗?元数据和结果结合在一起?是的。参考:@dcpartners我建议使用JsonProperty,答案如下:。这是一种更好的方法,可以确保它转换为您想要的类型您可能正在寻找Newtonsoft JSON文档: