C# 转换值时出错“;09:00“;键入xamarin.forms
我很努力,但我没有发现问题,我试图在我的应用程序中显示json小时数,但我有一个错误“将值“09:00”转换为类型时出错…” 我的json获取:C# 转换值时出错“;09:00“;键入xamarin.forms,c#,json,xamarin,xamarin.forms,json.net,C#,Json,Xamarin,Xamarin.forms,Json.net,我很努力,但我没有发现问题,我试图在我的应用程序中显示json小时数,但我有一个错误“将值“09:00”转换为类型时出错…” 我的json获取: [ "09:00", "10:00", "11:30", "12:30", "13:30", "15:00", "16:00", "17:00"] 我的密码服务: public s
[
"09:00",
"10:00",
"11:30",
"12:30",
"13:30",
"15:00",
"16:00",
"17:00"]
我的密码服务:
public static async Task<List<Availabilities>> GetAvailabilities()
{
var userName = "marcelo";
var passwd = "PWD.";
var httpClient = new HttpClient();
var authToken = Encoding.ASCII.GetBytes($"{userName}:{passwd}");
httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", Convert.ToBase64String(authToken));
var response = await httpClient.GetStringAsync(AppSettings.ApiUrl + "index.php/api/v1/availabilities?providerId=4&serviceId=12&date=2020-07-26");
return JsonConvert.DeserializeObject<List<Availabilities>>(response);
}
我的可用性.xaml.cs
public ObservableCollection<Availabilities> AvailabilitiesCollection;
public PageAvailabilities()
{
InitializeComponent();
AvailabilitiesCollection = new ObservableCollection<Availabilities>();
GetAvailabilities();
}
private async void GetAvailabilities()
{
var hours = await ApiService.GetAvailabilities();
foreach (var hour in hours)
{
AvailabilitiesCollection.Add(hour.ToString());
}
CvAvailabilities.ItemsSource = AvailabilitiesCollection;
}
公共可观测集合可用性集合;
公共页面可用性()
{
初始化组件();
AvailabilitiesCollection=新的ObservableCollection();
GetAvailabilities();
}
私有异步void GetAvailabilities()
{
var hours=等待ApiService.GetAvailabilities();
foreach(以小时为单位的var小时)
{
AvailabilitiesCollection.Add(hour.ToString());
}
CvAvailabilities.ItemsSource=可用性集合;
}
请有人告诉我怎么做这个请求:)?
最好的注意您没有包含字符串的对象列表。您只有一个字符串列表
JsonConvert.DeserializeObject<List<string>>(response)
JsonConvert.DeserializeObject(响应)
您的json只是一个字符串[]
。您需要先对其进行反序列化,然后将其转换为您的类型
var data = JsonConvert.DeserializeObject<List<string>>(response);
// using LINQ
var hours = from x in data select
new Availabilities { Hours = x }).ToList<Availabilities>();
return hours;
var data=JsonConvert.DeserializeObject(响应);
//使用LINQ
var小时=从数据选择中的x开始
新可用性{Hours=x}).ToList();
返程时间;
您好,非常感谢您的回答,但这让我感到很复杂对不起:/我使用了另一个回答,但感谢您的时间杰森:)我使用您的回答,因为这对我来说比较容易,我不是专业人士,我不了解所有事情谢谢您,杰瓦德
var data = JsonConvert.DeserializeObject<List<string>>(response);
// using LINQ
var hours = from x in data select
new Availabilities { Hours = x }).ToList<Availabilities>();
return hours;