"无法将当前JSON对象(例如{\" name \":\" value \"})反序列化为类型' System.Collections .Generic.List`1 [Service.View.Login +成功]'因为类型需要一个JSON数组(例如[1,2,3])才能正确反序列化。\ n要修复此错误,要么将JSON更改为JSON数组(例如[1,2,3])或更改反序列化类型,它是一个普通的.NET类型(例如,不是像整数这样的基本类型,不是类似于数组或列表的集合类型),可以从JSON对象反序列化。 JsonObjectAttribute也可以添加到类型中以强制它从JSON对象反序列化。\ n '成功',第1行,第11位。"
try
{
using (var cl = new HttpClient())
{
var formcontent = new FormUrlEncodedContent(new[]
{
new KeyValuePair<string,string>("email", email.Text),
new KeyValuePair<string, string>("password",passwors.Text)
});
var request = await cl.PostAsync("http://192.168.1.122/api/login/user", formcontent);
request.EnsureSuccessStatusCode();
var response = await request.Content.ReadAsStringAsync();
var myData = JsonConvert.DeserializeObject<Success>(response);
}
}
catch (Exception ex)
{
await DisplayAlert("Error", ex.Message, "Close");
}
答案 0 :(得分:0)
我认为问题是你的模型(你应该发布)。您似乎尝试在作为Array(或List ...)的对象内反序列化对象(不是数组)。
答案 1 :(得分:0)
检查您从网址获得的回复并更正您的模型。
下次当您必须处理JSON并且想要快速生成C#模型时,请使用https://app.quicktype.io等服务。